tianzhendengni
首先确保服务器处于安全模式,因为修改密码期间数据库处于没有密码保护的状态。
进行如下操作:
 
1、关闭mysql服务 sc stop mysql
 
2、以安全模式启动mysql
mysqld -- skip-grant-tables
建议通过修改配置文件实现安全启动:
vi /etc/my.cnf
在[mysqld]段中加上一句: skip-grant-tables
保存并退出
 
3、重新启动mysqld
service mysqld restart
 
4、登陆mysql
直接输入mysql -u root -p 回车, (忽略密码)再回车;
 
5、更改root密码
UPDATE mysql.user SET Password=PASSWORD(\'xxx\') where USER=\'root\';
更改密码时出现错误:
ERROR 1054 (42S22): Unknown column \'Password\' in \'field list\'
原因:数据库下没有Password字段
解决办法
查找数据库mysql的user表
      show databases;
      use mysql;
      show tables;
      select * from user;   
发现没有Password字段,Password字段改成了authentication_string
使用该字段重新修改root密码即可:
update mysql.user set authentication_string=password(\'xxx\') where user=\'root\' ;
注意: mysql新版本用于存用户密码的字段名为authentication_string而不是 password,且新密码必须使用password函数进行加密
 
6、修改完密码以后再打开配置文件,将skip-grant-tables注释掉。
vi /etc/my.cnf
#skip-grant-tables
 
7、重新运行mysql,即可使用新密码进行登陆。
service mysqld restart

分类:

技术点:

相关文章:

  • 2021-11-15
  • 2021-11-21
  • 2021-11-07
  • 2021-10-10
  • 2021-11-21
  • 2022-01-15
  • 2021-08-19
  • 2021-11-22
猜你喜欢
  • 2021-10-10
  • 2021-12-10
  • 2021-08-14
  • 2022-02-14
  • 2022-12-23
  • 2021-07-03
相关资源
相似解决方案