linux环境下无法登陆Mysql,通过免密方式更改密码时出现ERROR 1054

登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password(‘root’) where user='root’时提示ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’,原来是mysql数据库下已经没有password这个字段了,password字段改成了

authentication_string

所以更改语句替换为update mysql.user set authentication_string=password(‘root’) where user=‘root’ ;即可

完整的更改MySQL密码的方式如下:

1、vim /etc/my.cnf 加入skip-grant-tables

linux环境下无法登陆Mysql,通过免密方式更改密码时出现ERROR 1054_第1张图片

2、重启MySQL, /etc/init.d/mysqld restart

linux环境下无法登陆Mysql,通过免密方式更改密码时出现ERROR 1054_第2张图片

3、终端输入 mysql 直接登录MySQL数据库,然后use mysql

4、update mysql.user set authentication_string=password(‘root’) where user=‘root’ ;

5、再次修改mysql登陆设置:
打开/etc/my.cnf
vim /etc/my.cnf
并删除之前往[mysqld] 里面添加的内容
linux环境下无法登陆Mysql,通过免密方式更改密码时出现ERROR 1054_第3张图片
这里写图片描述
6、再次启动mysql就可以正常使用啦!
这里写图片描述
linux环境下无法登陆Mysql,通过免密方式更改密码时出现ERROR 1054_第4张图片

mysql5.7更改密码应该采用命令

ALTER USER ‘root’@'localhost’IDENTIFIED BY '********'其中密码的命名规则有所改变,详见

http://blog.csdn.net/u010603691/article/details/50541979

5、编辑my.cnf文件删掉skip-grant-tables 这一行,然后重启MySQL,/etc/init.d/mysqld restart,否则MySQL仍能免密码登录

6、mysql -u root -p

然后输入密码即可登录MySQL数据库

你可能感兴趣的:(linux)