mysql密码重置(亲测)

作者: 算法进阶 | 来源:发表于2018-04-16 21:14 被阅读28次

1、停止 MySQL Server (on Linux):

sudo systemctl stop mysql

2、安全模式启动数据库:

sudo mysqld_safe --skip-grant-tables --skip-networking &

如果出现如下错误:

2018-02-12T08:57:39.826071Z mysqld_safe Directory '/var/run/mysqld' for UNIX
socket file don't exists. mysql -u root ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/var/run/mysqld/mysqld.sock' (2) [1]+ Exit 1
创建mysqld路径

sudo mkdir /var/run/mysqld

提供mysql访问权限

sudo chown mysql: /var/run/mysqld

重新运行步骤2


3、进入mysql不需要密码

 mysql -u root 

4、运行如下mysql命令

FLUSH PRIVILEGES;

如果是 MySQL 5.7.6及更新的版本,设置新密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

如果是 MySQL 5.7.5及更旧的版本

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');

如果 ALTER USER 命令无效,尝试以下命令:

UPDATE mysql.user SET authentication_string = PASSWORD('新密码')     WHERE User = 'root' AND Host = 'localhost';

5、退出mysql

exit;

6、重启mysql

sudo kill `cat /var/run/mysqld/mysqld.pid`


sudo systemctl start mysql

7、登入mysql使用新密码

mysql -u root -p

网上尝试了很多方法无效,按如上流程完成了mysql重置密码。
原文请见https://stackoverflow.com/questions/21944936/error-1045-28000-access-denied-for-user-rootlocalhost-using-password-y/48748685#48748685


相关文章

网友评论

    本文标题:mysql密码重置(亲测)

    本文链接:https://www.haomeiwen.com/subject/clhykftx.html