Sto*_*dow 63 mysql mysql-management
如何从MySQL命令行客户端更改rootMySQL用户的密码null- 意味着没有密码或''- ?
Sta*_*nov 87
为我和"5.7.11 MySQL社区服务器"工作:
use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';
Run Code Online (Sandbox Code Playgroud)
我不得不更改'plugin'字段,因为它被设置为'auth_socket'.
之后,我可以mysql -u root没有密码连接.
use*_*141 55
如果您想要一个空密码,您应该将密码设置为null,而不是使用密码哈希函数,如下所示:
在命令行上:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -uroot
Run Code Online (Sandbox Code Playgroud)
在MySQL中:
use mysql;
update user set password=null where User='root';
flush privileges;
quit;
Run Code Online (Sandbox Code Playgroud)
bsd*_*bsd 52
mysql -p,输入当前root密码mysql -u root -p,输入当前root密码mysql> set password = password('');完成!没有root密码.
kta*_*kta 20
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('');
Run Code Online (Sandbox Code Playgroud)
小智 14
这对我来说在Ubuntu 16.04上使用v5.7.15 MySQL:
首先,确保安装了mysql-client(sudo apt-get install mysql-client).
打开终端并登录:
mysql -uroot -p
Run Code Online (Sandbox Code Playgroud)
(然后输入密码)
之后:
use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';
Run Code Online (Sandbox Code Playgroud)
(tnx @Stanislav Karakhanov)
最后一件重要的事情是重置mysql服务:
sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)
您现在应该能够使用MySQL Workbench登录(没有密码).
Vla*_*sny 13
您可以通过以下五个简单步骤恢复MySQL数据库服务器密码.
步骤#1:停止MySQL服务器进程.
步骤#2:使用--skip-grant-tables选项启动MySQL(mysqld)服务器/守护程序进程,以便它不会提示输入密码.
步骤#3:以root用户身份连接到mysql服务器.
步骤#4:设置新的mysql root帐户密码即重置mysql密码.
步骤#5:退出并重启MySQL服务器.
以下是您需要为每个步骤键入的命令(以root用户身份登录):
第一步:停止mysql服务
# /etc/init.d/mysql stop
Run Code Online (Sandbox Code Playgroud)
输出:
Stopping MySQL database server: mysqld.
Run Code Online (Sandbox Code Playgroud)
步骤#2:启动没有密码的MySQL服务器:
# mysqld_safe --skip-grant-tables &
Run Code Online (Sandbox Code Playgroud)
输出:
[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started
Run Code Online (Sandbox Code Playgroud)
步骤#3:使用mysql客户端连接到mysql服务器:
# mysql -u root
Run Code Online (Sandbox Code Playgroud)
输出:
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>
Run Code Online (Sandbox Code Playgroud)
步骤#4:设置新的MySQL root用户密码
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
Run Code Online (Sandbox Code Playgroud)
步骤#5:停止MySQL服务器:
# /etc/init.d/mysql stop
Run Code Online (Sandbox Code Playgroud)
输出:
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
Run Code Online (Sandbox Code Playgroud)
步骤#6:启动MySQL服务器并测试它
# /etc/init.d/mysql start
# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.cyberciti.biz/tips/recover-mysql-root-password.html
小智 5
mysql直接编辑数据库不是一个好主意。
我喜欢以下步骤:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '';
mysql> flush privileges;
Run Code Online (Sandbox Code Playgroud)
这是来自 MySQL 8.0.13 的:
use mysql;
update user set authentication_string=null where user='root';
quit;
Run Code Online (Sandbox Code Playgroud)