MySQL 5.7引入了一個(gè)新的密碼生成方式,稱為“caching_sha2_password”。
在之前的版本中,MySQL使用一種基于舊的SHA1算法的密碼加密方式。但是,由于SHA1已經(jīng)被證明是不安全的,MySQL決定引入一種更加安全的加密方式。
mysql>CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
在MySQL 5.7中,上述命令將使用新的“caching_sha2_password”方式生成密碼。
這種新的密碼生成方式與舊的SHA1方式相比有什么不同呢?
對(duì)于普通用戶來說,密碼生成方式的變化是透明的。用戶可以像以前一樣使用用戶名和密碼登錄數(shù)據(jù)庫(kù)。但是,對(duì)于開發(fā)人員和系統(tǒng)管理員來說,有一些需要注意的變化。
當(dāng)使用連接MySQL服務(wù)器的客戶端工具時(shí),需要指定新的加密方式:
mysql -u root -p --default-auth=caching_sha2_password
如果不指定加密方式,連接會(huì)失敗。
此外,如果您使用的是舊版本的客戶端程序,例如PHP的mysqli擴(kuò)展,可能無法連接到MySQL 5.7使用“caching_sha2_password”的服務(wù)器。您可以嘗試更新客戶端程序或指定可用的密碼加密方式。
總之,MySQL 5.7引入了一個(gè)更加安全的密碼生成方式,但它也可能帶來一些兼容性問題。在使用之前,請(qǐng)務(wù)必確保您的客戶端程序支持新的加密方式。