MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'

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

所以更改语句替换为updateMySQL.user set authentication_string=password('root') where user='root' ;即可

我的系统版本如下:


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

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

MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'_第1张图片

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


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

MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'_第2张图片

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



mysql5.7更改密码应该采用命令ALTER USER 'root'@'localhost'IDENTIFIED BY '********'其中密码的命名规则有所改变,

MySQL 设置的密码中必须至少包含一个大写字母、一个小写字母、一个特殊符号、一个数字,

密码长度至少为8个字符

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

6、mysql -u root -p

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

MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'_第3张图片



你可能感兴趣的:(MySQL)