内容要点
一、问题描述
二、解决方案
一、问题描述
1、mysql忘记密码无法登录。报错:
#mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
2、配置免密登录后修改密码失败
UPDATE user SET password=PASSWORD('root') WHERE user='root';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
二、解决方案
1.1、在mysql配置文件中配置免密登陆
#vim /etc/my.cnf
[mysqld]
skip-grant-tables #添加免密登陆
1.2、重启MySQL
#systemctl restart mysqld
1.3、免密登陆MySQL,刷新权限
2.1、配置完免密登录后,对密码进行修改失败,是因为mysql数据库下已经没有password这个字段了,password字段改成了authentication_string。所以修改语句变为:
#update mysql.user set authentication_string=PASSWORD('root') where User='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
#flush privileges; #刷新数据库
#quit #退出
2.2、注释掉配置文件中的免密配置,重启数据库,使用新密码登陆
#vim /etc/my.cnf
#systemctl restart mysqld
#mysql -u root -p
标签:免密,登录,MySQL,user,mysql,password,root
From: https://blog.51cto.com/u_14475876/6280567