雲端伺服器上,設定完mysql後,部署phpmyadmin完成,但是網頁上輸入帳號密碼總是無法登錄,後來發現是mysql8密碼策略不一致導致的
舊版本,密碼驗證使用mysql_native_password
而新版使用caching_sha2_password
phpmyadmin登入時採用的是舊版驗證,所以登入不上去
這裡的解決方案改變密碼驗證方式為舊版
1,select user,host,plugin from mysql.user; 查看目前密碼帳號驗證方式(我這裡root已改為舊版)
+------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | admin | % | caching_sha2_password | | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | mysql_native_password | +------------------+-----------+-----------------------+
2,新版變數與舊版有些出入,可以透過show variables like 'validate_password%'; 查看變數
+--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 6 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | LOW | | validate_password.special_char_count | 1 | +--------------------------------------+-------+
3,執行新版改密
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '111111'; LUSH PRIVILEGES;
注意,新版密碼強度比較高,validate_password.policy值如果不是low,則無法設定簡單密碼
#透過上面2 查看密碼相關設置,主要看validate_password.length 和validate_password.policy
set global validate_password.policy=LOW set global validate_password.length=6
然後就可以改密碼了。
以上是mysql8 phpmyadmin密碼登入失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!