mysql5.8开始将caching_sha2_password作为默认的身份验证插件
该caching_sha2_password和 sha256_password认证插件提供比mysql_native_password插件更安全的密码加密 ,并 caching_sha2_password提供了比更好的性能sha256_password。由于这些优越的安全性和性能特性 caching_sha2_password它是MySQL 8.0首选的身份验证插件,而且也是默认的身份验证插件而不是 mysql_native_password。此更改会影响服务器和libmysqlclient 客户端库;目前来说和经常使用的客户端软件兼容性不好。
在MySQL 5.7中,默认的身份验证插件是 mysql_native_password!
libmysqlclient8.0之前的MySQL版本 的客户端库能够连接到MySQL 8.0服务器(通过身份验证的帐户除外 caching_sha2_password)。这意味着基于的8.0之前的客户端libmysqlclient也应该能够连接。例子:
①:标准的MySQL客户端,如mysql 和mysqladmin都是 libmysqlclient基于的。
②:Perl DBI的DBD :: mysql驱动程序是 libmysqlclient基于的。
③:MySQL Connector / Python有一个libmysqlclient基于C扩展模块 。要使用它,请use_pure=False在连接时包含该选项。
兼容caching_sha2_password身份验证的客户端:
①:libmysqlclientMySQL 8.0(8.0.4或更高版本)中 的客户端库。标准MySQL客户端(如mysql和 mysqladmin)是 libmysqlc