mysql修改密码

2019-04-15  本文已影响0人  潇洒小菜鸟

最近刚好在Linux上装好MySQL,但是在登录mysql时却出现密码错误了,要重置密码:

ERROR 1045 (28000): Access denied for user 'root'@'localhost'

于是在网上搜索一通,终于解决,特意记下,如有错漏,望大神们指出,感谢!

1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
vim /etc/my.cnf(注:windows下修改的是my.ini)

在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

[mysqld]
port       = 3306
skip-grant-tables
2.接下来我们需要重启MySQL:
/etc/init.d/mysql restart(有些用户可能需要使用/etc/init.d/mysqld restart)
3.重启之后输入"mysql"即可进入mysql。
4.接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password("你的新密码") where user="root";
mysql> flush privileges;
mysql> quit

执行后报错:

ERROR 1054(42S22) Unknown column 'password' in ‘field list’

错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string, 所以请使用一下命令:

mysql> update mysql.user set authentication_string=password('*******') where user='*******';  #修改密码成功
mysql> flush privileges;  #立即生效
mysql> quit

到这里root账户就已经重置成新的密码了。

5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
上一篇下一篇

猜你喜欢

热点阅读