重置mysql root密码

由于忘记了本机的mysql root密码,只能选择重置一下。通过这次问题真正感受到了百度、谷歌的差距,百度搜索出来的基本都是过时的方案,而且国内的很多问题没有多少人真正去讨论,大多都是求解决方案的。直到换成了谷歌搜索才真正解决了问题,下面说一下我的重置过程。
1.需要先关闭mysql服务


mysql.server stop

2.运行mysql的安全模式

sudo mysqld_safe --skip-grant-tables

3.连接到mysql

mysql -u root

4.最重要的一步
如果mysql的版本是5.7一下,可以使用下面的sql,直接重置password字段

UPDATE mysql.user SET password=PASSWORD('your-password') WHERE User='root';

如果mysql版本高于5.7则需要修改的字段换成了authentication_string,所有sql换成了

UPDATE user SET authentication_string=PASSWORD("your-password") WHERE User='root';

5.刷新、退出

FLUSH PRIVILEGES;


quit

到这里基本就重置完成了。更多的信息可以参考stackoverflow上面的讨论

你可能感兴趣的:(重置mysql root密码)