如果此時不想被遠程連接: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;