16/7/14-MySQL-修改mysql5.6以上版本root密码

 

版本更新,原来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

 

posted @ 2016-08-19 21:02  gaara724  阅读(178)  评论(0编辑  收藏  举报