如何设置root密码为空
如何将MySQL root
用户的密码更改为null
– 意味着没有密码或''
– 从MySQL命令行客户端?
您可以通过以下五个简单步骤恢复MySQL数据库服务器密码。
步骤1 :停止MySQL服务器进程。
步骤2 :使用–skip-grant-tables选项启动MySQL(mysqld)服务器/守护进程,以便它不会提示input密码。
第三步 :以root用户身份连接到mysql服务器。
步骤#4 :设置新的MySQL帐户密码,即重置mysql密码。
第五步 :退出并重新启动MySQL服务器。
以下是您需要为每个步骤键入的命令(以root用户身份login):
步骤1 :停止mysql服务
# /etc/init.d/mysql stop
输出:
Stopping MySQL database server: mysqld.
步骤#2 :启动到MySQL服务器W / O密码:
# mysqld_safe --skip-grant-tables &
输出:
[1] 5988 Starting mysqld daemon with databases from /var/lib/mysql mysqld_safe[6025]: started
步骤#3 :使用mysql客户端连接到mysql服务器:
# mysql -u root
输出:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.1.15-Debian_1-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
第四步 :设置新的MySQL root用户密码
mysql> use mysql; mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root'; mysql> flush privileges; mysql> quit
步骤#5 :停止MySQL服务器:
# /etc/init.d/mysql stop
输出:
Stopping MySQL database server: mysqld STOPPING server from pid file /var/run/mysqld/mysqld.pid mysqld_safe[6186]: ended [1]+ Done mysqld_safe --skip-grant-tables
步骤#6 :启动MySQL服务器并testing它
# /etc/init.d/mysql start # mysql -u root -p
资料来源: http : //www.cyberciti.biz/tips/recover-mysql-root-password.html
如果你想要一个空的密码,你应该设置密码为空,而不是使用密码哈希函数,如下所示:
在命令行上:
sudo service mysql stop sudo mysqld_safe --skip-grant-tables --skip-networking & mysql -uroot
在MySQL中:
use mysql; update user set password=null where User='root'; flush privileges; quit;
- 以root用户身份连接到mysql(使用以下两种方法之一)
- 以root身份login并使用
mysql -p
启动mysql,input当前的root密码 - login为自己并使用
mysql -u root -p
启动mysql,input当前的root密码
- 以root身份login并使用
-
mysql> set password = password('');
完成! 没有root密码。
为我工作和“5.7.11 MySQL社区服务器”:
use mysql; update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';
我不得不改变'插件'字段,因为它被设置为'auth_socket'。
之后,我可以连接作为mysql -u root
没有密码。
为root设置密码@'localhost'=密码('');
这对我在Ubuntu 16.04 v5.7.15 MySQL的工作:
首先,确保你已经安装了mysql-client( sudo apt-get install mysql-client
)。
打开terminal并login:
mysql -uroot -p
(然后input你的密码)
之后:
use mysql; update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';
(tnx @Stanislav Karakhanov)
而最后一个重要的是重置mysql服务 :
sudo service mysql restart
您现在应该也可以通过使用MySQL Workbenchlogin(不使用密码)。
user64141的答案
use mysql; update user set password=null where User='root'; flush privileges; quit;
在MariaDB 10.1.5中不适合我(应该是MySQL的替代品)。 虽然没有在MySQL 5.6中testing过,看是否是上游的变化,我得到的错误是:
错误1048(23000):列'密码'不能为空
但用空的单引号或双引号replacenull工作正常。
update user set password='' where User='root';
要么
update user set password="" where User='root';
直接编辑mysql
数据库不是一个好主意。
我更喜欢以下步骤:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ''; mysql> flush privileges;
如果你知道你的根密码,只是想重置它,然后做如下:
-
从控制面板>pipe理工具>服务启动MySQL服务。 (只有当它早些时候被你阻止了!否则,就跳过这一步)
-
启动MySQL Workbench
-
键入这个命令/ SQL行
ALTER USER'root'@'localhost'PASSWORD EXPIRE;
要重置任何其他用户密码,只需键入其他用户名而不是root。