mysql 5.7 强制修改root密码

运行mysqld_safe --skip-grant-tables & 

如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking &

使用mysql连接server

更改密码: update mysql.user set authentication_string=password('kiwi') 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 'kiwi';

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+

6 rows in set (0.00 sec)

mysql> set global validate_password_policy=0;

Query OK, 0 rows affected (0.00 sec)


SET PASSWORD FOR 'root'@'localhost' = PASSWORD('kiwi');
FLUSH PRIVILEGES;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章