我有一个远程 MySQL 服务器。我可以使用以下命令从客户端计算机登录:
mysql -h 172.16.0.7 -u mysqlUser -p
并且连接良好。
当我在 Perl 中使用相同的凭据的简单 DBH 连接时,MySql 服务器会返回Access denied for user 'mysqlUser'@'172.16.0.5'
。
该 IP 已在数据库中明确授予访问权限。
两台服务器都运行 Centos 6.3。Perl 是 5.10.1;MySQL 是 14.14。
答案1
DBH 要求您在连接时将数据库名称指定为 DSN 的一部分,而 CLI 客户端则不需要;如果您尝试连接到您的用户没有权限的数据库(或不存在的数据库),您将被拒绝,并出现您提到的相同“访问被拒绝”消息。这是我要检查的第一件事。