ubuntu 下修改MySQL 的root用户密码

环境:Ubuntu 16.04  ;  Mysql 5.7问题:mysql root登录密码 忘记了。。忘记了。。忘。。了

 

1.登录MySQL

 

$ mysql -u root -p

 

  输入密码,如果登录成功下面的就不用看了;如果提示出错,则我们尝试启用安全模式登入MySQL,这样可以绕过密码登入,登入后再修改密码。

2.安全模式登入MySQL

 

1 $ sudo /etc/init.d/mysql stop
2 
3 [sudo] hee 的密码:
4 [ ok ] Stopping mysql (via systemctl): mysql.service.
5  
6 $ sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

 

  输入第一行终止MySQL运行,成功,会提示下面两行;

  输入第四行,成功,没有任何报错则可以另外打开一个终端窗口进行下一步操作;

        但是一般会报错,比如提示mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists

  因此我们尝试输入以下代码

1 $ sudo mkdir -p /var/run/mysqld
2  
3 $ sudo chown mysql:mysql /var/run/mysqld

     最后再次输入:

1 sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &

  到了这里不在提示错误,可以打开另一个终端端口了,尝试无密码登入MySQL。

1 mysql -u root

   到这里应该可以进入MySQL了,继续操作

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

 3、使用修改的密码登入MySQL

  经过上面一系列的操作,应该可以正常使用你更改的密码登入了。

 

1 > sudo /etc/init.d/mysql stop
2 > sudo /etc/init.d/mysql start # reset mysql
3  
4 > mysql -u root -p

 

   第一行先终止数据库运行,第二行重启数据库服务,第三行root用户登入。

   OK 修改成功!

 

posted @ 2018-03-13 13:40  何书涵  阅读(19166)  评论(0编辑  收藏  举报