编辑:据我所知,这个问题的根本原因是正在安装正确的Perl模块,但是正在加载错误的
mysql.so文件.
my $dsn = "DBI:mysql:"
. "database=$db;"
. "host=$dbhost;"
. "mysql_ssl=$dbssl;"
. "mysql_skip_secure_auth=1;";
我最近尝试升级我们的DBD :: mysql版本,但不断遇到DBI连接(‘database = mydb; host = myhost’,’myuser’,…)失败:连接使用旧版(4.1.1之前版) )错误.
几个小时的调试后,并确定没有更新我们的MySQL表的密码哈希方法的正确的选项是不可能与我们的整个系统,我发现有DBD::Mysql 4.027你可以声明“mysql_skip_secure_auth”作为DSN的一部分.
但是,这似乎不起作用.
如果我runmysql -h $为myhost -u $myuser的-p –skip-安全-auth的,我能够平安无事连接,而是试图用DBI / DBD为此:: mysql的,我总是碰到上述错误,好像该指令被忽略了.
我也尝试使用具有相同选项集的mysql_read_default_file,以及DSN中的mysql_skip_secure_auth.没有任何这些东西的组合起作用.
我错过了什么吗?
编辑:
跟踪输出(编辑以删除敏感信息):
imp_dbh->mysql_dr_connect: host = |{host}|, port = 0, uid = {user}, pwd = {pwd}
i