Ubuntu下忘记MySQL密码,从安全模式进入的解决方法

Ubuntu 16.0 系统下忘记了 MySQL 的登录密码,现记录从安全模式进入数据库的解决方法,供参考。

文章来源:ubuntu 16.04系统下解决MySQL 5.7版本的root用户重置密码问题

这里只是忘记 MySQL 的密码,不涉及安装问题,故不检查安装是否成功。


重置开始

mysql -u root -p

由于忘记密码,这里提示登陆失败,所以从安全模式进入,然后再重置密码。

sudo /etc/init.d/mysql stop
-------------------------------------
[sudo] 密码:
[ ok ] Stopping mysql (via systemctl): mysql.service.
 
$ sudo /usr/bin/mysqld_safe

输入第一行,结束 MySQL 运行,成功,会提示下面两行;
输入第四行,成功。没有任何报错则可以另外打开一个终端窗口进行下一步操作;
但是一般会报错,比如提示 mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.

不要慌!输入以下代码:

sudo mkdir -p /var/run/mysqld
 
sudo chown mysql:mysql /var/run/mysqld

然后再次输入:

sudo /usr/bin/mysqld_safe

此时便成功进入了安全模式,重新进入 MySQL,无需密码。

mysql -u root

然后按如下步骤重置密码:

> use mysql;
 
> update user set authentication_string = PASSWORD("这里输入新密码") where User='root';  #更改密码
> update user set plugin="mysql_native_password";  # 如果没这一行可能也会报一个错误,因此需要运行这一行
 
> flush privileges; #更新所有操作权限
> quit;

重新用新密码进入 MySQL:

> sudo /etc/init.d/mysql stop
> sudo /etc/init.d/mysql start  # 重启 mysql
 
> mysql -u root -p

重置完毕!

猜你喜欢

转载自blog.csdn.net/Sponge_bobo_herbert/article/details/84444648