+
95
-

回答

以安全模式启动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 和密码间不能有空格。

网友回复

我知道答案,我要回答