Mysql5.7如何修改root密码
版本更新,原来user里的password字段已经变更为authentication_string
版本更新缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的。
如果MySQL正在运行,首先杀之:
killall-TERMmysqld。
运行
mysqld_safe--skip-grant-tables&
如果此时不想被远程连接:
mysqld_safe--skip-grant-tables--skip-networking&
使用mysql连接server
更改密码:
updatemysql.usersetauthentication_string=password('123qwe')whereuser='root'andHost='localhost';
*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
而是将加密后的用户密码存储于authentication_string字段
mysql>flushprivileges; mysql>quit;
修改完毕。重启
killall-TERMmysqld。 mysqld_safe&
然后mysql就可以连接了
但是此时操作似乎功能不完全,还要alteruser...
alteruser'root'@'localhost'identifiedby'123';
网文说酱紫也可以:
setpasswordfor'root'@'localhost'=password('123'); cpmysql.server/etc/init.d/mysql chmod+x/etc/init.d/mysql chkconfig--addmysql