mysql 修改密码问题 5.6,5.7 (配置方式的skip-grant-tables可能不行,推荐命令行方式)

原文链接: https://blog.csdn.net/nicepuppy/article/details/80863836

mysql 修改密码后,注意  FLUSH PRIVILEGES !

 

不过我在安装 5.7.27版本的时候怎么flush都没用。不知道为啥原始随机密码测试也是不行,my.cnf里修改为 skip-grant-tables

然后修改密码,还是不行。如下图:

mysql 修改密码问题 5.6,5.7 (配置方式的skip-grant-tables可能不行,推荐命令行方式)_第1张图片

后面从配置中去掉skip-grant-tables(图中看可能这种操作,不行) ,关闭mysql服务,单独命令行启动mysqld --skip-grant-tables,再开一个shell去链接, update mysql.user set authentication_string=password('123qwe') where user='root'; 执行后flush privileges; 

重启mysql 服务:service mysql start  。重新链接可以了,

但是报另外一个错误,提示要rest 密码(前面担心是不是root这个密码不让用,用的别的密码,想改回来),执行alter user user() identified by 'xxxx' ; flush privileges; 后面就正常可以了。

mysql 修改密码问题 5.6,5.7 (配置方式的skip-grant-tables可能不行,推荐命令行方式)_第2张图片

参考:windows版本的 https://blog.csdn.net/nicepuppy/article/details/80863836

 

 

解决Your password has expired. To log in you must change it using a client that supports expired passwords办法

 

 

 

 

打开 命令行

 

  1. /usr/local/mysql/bin/mysqladmin -u root -p password  


提示输入按照后的那个密码

 

输入完成后 提示输入新的密码

 

  1. Enter password:   
  2. New password:   

 

Confirm new password: 

完成

 

mysql> grant all privileges on *.* to 'root'@'your-host-ip' identified by 'your-mysql-password' with grant option;
mysql> flush privileges;
mysql> exit
 

 

 

你可能感兴趣的:(mysql,linux)