perl:5.16.3
DBI:1.622
DBD:4.050
连接mysql,默认发送cache_sha2_password; 我现在需要程序发送mysql_native_password,我连接的是代理,仅仅支持这种方式,另外,使用的密码也是mysql_native_password的,我尝试了一些配置,但是没有生效,我只可以改perl相关的
use DBI;
# 连接数据库
my $dbh = DBI->connect(
"DBI:mysql:database=<数据库名>;host=<主机名>;port=<端口>",
"<用户名>",
"<密码>",
{
#下面是我的尝试,一次配置一条,全都没有用,也不会报错,抓包发现还是走的cache_sha2_password
# 我在DBD源码中找到mysql_skip_secure_auth 这个配置,配置后会直接报错说不支持这个参数
enable_mysql_native_password => 1,
auth_plugin => mysql_native_password,
}
) or die "无法连接数据库:$DBI::errstr";