相信大家都遇到过这种情况,在用 命令行 运行的 MySQL 中修改密码时,出现以下错误:
接下来的内容划重点,请认真看 !!!!!!!!!!!!!!
这其实是 MySQL 的 版本不同 所导致的支持的修改密码的 语法不同 所造成的问题,接下来就来看看不同版本的MySQL所支持的语法。(以下均为将密码改为“123465”的示例)
5.6 版本:
use mysql;
update mysql.user set password=password('123456') where User="root" and Host="localhost";
set password for root@localhost = password('123456');
5.7 以上版本,password 字段被设置为了authentication_string,因此更新命令为:
use mysql;
update mysql.user set authentication_string=password('123456') where user='root';
set password for root@localhost ='123456';
8.0 以上的版本,以上的命令都不支持,有以下两个命令可用(MySQL的安装与配置——详细教程(转载)里面修改密码用的就是这个最新的命令):
use mysql;
alter user 'root'@'localhost' identified by '880911';
set password for root@localhost ='123456';
FLUSH PRIVILEGES;