请问如何重设 mysql的 root 密码?
网友回复
以安全模式启动mysql,这样不需要密码可以直接以root身份登录,然后重设密码。
首先,我们停掉MySQL服务:
sudo service mysql stop
以上命令适用于Ubuntu和Debian。CentOS、Fedora和RHEL下使用mysqld替换mysql。 以安全模式启动MySQL:sudo mysqld_safe --skip-grant-tables --skip-networking &
注意我们加了--skip-networking,避免远程无密码登录 MySQL。这样我们就可以直接用root登录,无需密码:
mysql -u root
接着重设密码:mysql> use mysql;
mysql> update user set password=PASSWORD("mynewpassword") where User='root';mysql> flush privileges;
注意,命令后需要加分号。 重设完毕后,我们退出,然后启动 MySQL 服务:mysql > quit
quit不需要分号。 重启服务:sudo service mysql restart
同样,以上命令适用于Ubuntu和Debian,Centos、Fedora和RHEL需要用mysqld替换mysql。 现在可以尝试用新密码登录了:mysql -u root -pmynewpassword
注意,-p 和密码间不能有空格。注意事项:如何sudo mysqld_safe报错就去掉sudo;
mysql5.7以前的版本请使用 ··update user set password=password("新密码") where user="root";
mysql5.7以后是UPDATE user SET authentication_string=PASSWORD("新密码") WHERE User="root";