1251 - Client does not support authentication protocol
原因:mysql 8.0 默認使用 caching_sha2_password 身份驗證機制肆资;客戶端不支持新的加密方式血柳。
解決方案:
修改用戶(root)的加密方式
步驟:
1浩螺、進入mysql容器內部
docker exec -it mysql01 bash ## mysql01是容器的別名芥炭,這里也可以用容器的id代替
2舍悯、登錄mysql
mysql -u root -p
3雷逆、設置用戶配置項
1)姆另、查看用戶信息
mysql> select host,user,plugin,authentication_string from mysql.user;
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| host | user | plugin | authentication_string |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
| % | root | caching_sha2_password | $A$005$HF7;krfwhkKHp5fPenQm4J2dm/RJtbbyjtCUVdDCcboXQw3ALxsif/sS1 |
| localhost | mysql.infoschema | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.session | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | mysql.sys | caching_sha2_password | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| localhost | root | mysql_native_password | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+------------------+-----------------------+------------------------------------------------------------------------+
備注:host為 % 表示不限制ip localhost表示本機使用 plugin非mysql_native_password 則需要修改密碼
2)臼予、修改加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; ### 123456 mysql的登錄密碼
flush privileges;