Mysql5.7如何修改root密码

2017-06-14 08:08:06 12963

版本更新,原来user里的password字段已经变更为authentication_string

版本更新 缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的。

如果 MySQL 正在运行,首先杀之:

killall -TERM mysqld。

运行

mysqld_safe --skip-grant-tables &

如果此时不想被远程连接:

mysqld_safe --skip-grant-tables --skip-networking &

使用mysql连接server

更改密码:

update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了

而是将加密后的用户密码存储于authentication_string字段

mysql> flush privileges;
mysql> quit;

修改完毕。重启

killall -TERM mysqld。
mysqld_safe &

然后mysql就可以连接了

但是此时操作似乎功能不完全,还要alter user...

alter user 'root'@'localhost' identified by '123';

网文说也可以:

set password for 'root'@'localhost'=password('123');
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql



提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: