Mysql 忘记密码解决方法

由于安装时忘记输入密码,一直无法登录。网上找了很多的方法d都无法解决。以下是本人解决后总结的一些方法,希望对大家亦有所帮助!

解决方法一

简单粗暴的就是直接卸载重装,不过资料库要记得备份。

以下是卸载方法,无残留:

sudo apt purge mysql-*

sudo rm -rf /etc/mysql/ /var/lib/mysql

sudo apt autoremove

sudo apt autoreclean

解决方法二

修改密码就是最好的方法啦!

安全模式登入MySQL

sudo /etc/init.d/mysql stop

-------------------------------------
[sudo] wl 的密码:
[ ok ] Stopping mysql (via systemctl): mysql.service.

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

输入第一行终止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 --skip-grant-tables --skip-networking &

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

mysql -u root

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

use mysql;

update user set authentication_string=PASSWORD(“这里输入你要改的密码”) where User=’root’; #更改密码
update user set plugin=”mysql_native_password”; #如果没这一行可能也会报一个错误,因此需要运行这一行

flush privileges; #更新所有操作权限
quit;

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

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

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start # reset mysql

mysql -u root -p

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

猜你喜欢

转载自blog.csdn.net/a__rong/article/details/79001407