MySQL8 配置

發佈於 2024-03-21  2,595 次閱讀


查看預設密碼
[root@localhost src]# cat /var/log/mysqld.log | grep password
2020-12-14T15:54:47.527379Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: p8ZiC1psfn_r
登入MySQL
mysql -u root -p
更改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';
  • MySQL密碼驗證規則和舊版MySQL不同,需調整Validation策略設置才能改成舊版的驗證方式,且需要先設置一組新密碼
調整Mysql Validation策略設置
查看Mysql Validation策略設置
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
調整設置(暫時性)
mysql> set global validate_password.length=6;
mysql> set global validate_password.policy=LOW;
  • 此設置為暫時性的設置,重啟後便會恢復成預設
調整默認validation 策略設置

設置/etc/my.cnf
於[mysqld]下最後加上下列兩行

validate_password.length=6
validate_password.policy=LOW

儲存後重啟Mysql

systemctl restart mysqld
設置可遠端連線進資料庫
use mysql;
update user set host='%' where user='root';
設置完畢後刷新資料庫設置並離開MySQL bash
mysql> FLUSH PRIVILEGES;
mysql> exit
使用更改後的密碼重新登入一次,若能成功登入就是修改密碼成功了
若Mysql客戶端軟體(Navicat等)提示 client does not support authentication protocol requested by server consider upgrading mysql client 錯誤時解決方法
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
FLUSH PRIVILEGES;

參考資料

MySQL 8 error - ERROR 1819 (HY000): Your password does not satisfy the current policy requirements.
https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server
MySQL 8 error - client does not support authentication protocol requested by server consider upgrading mysql client
https://stackoverflow.com/questions/50093144/mysql-8-0-client-does-not-support-authentication-protocol-requested-by-server


莫札特曾經說過大膽地踏上旅途吧
我不知道路途的前方究竟有什麼
但是
我們還是邁出了步伐
我們仍在旅途之中