【发布时间】:2018-01-16 15:33:11
【问题描述】:
在我的本地环境中,我正在使用 config/database.php 中指定的辅助远程 mysql 连接,没有任何问题:
# Secondary database connection
'mysql_remote' => [
'driver' => 'mysql',
'host' => env('DB_HOST_2', 'cherokee.websitewelcome.com'),
'port' => env('DB_PORT_2', '3306'),
'database' => env('DB_DATABASE_2', 'dbname'),
'username' => env('DB_USERNAME_2', 'dbusr'),
'password' => env('DB_PASSWORD_2', 'dbpass'),
'unix_socket' => env('DB_SOCKET_2', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
但是当我使用完全相同的数据库文件在生产服务器上运行它时,我收到以下错误,就像未使用远程主机 (cherokee.websitewelcome.com) 并将其替换为本地服务器主机 (eu01.server.加号)
SQLSTATE[HY000] [1045] Access denied for user 'dbusr'@'eu01.server.plus' (using password: YES) (SQL: select ...)
有什么想法吗?
【问题讨论】:
-
已使用。您正在使用来自
eu01.server.plus的用户dbusr连接到cherokee.websitewelcome.com上的Mysql 数据库。您需要确保在您的mysql实例上有一个用户dbusr,其主机为eu01.server.plus。CREATE USER 'dbusr'@'eu01.server.plus' ... -
我认为我的服务器正在阻止与远程 mysql 服务器的连接,我已尝试从生产服务器 shell 连接到远程 mysql,但我得到 ERROR 1045 (28000): Access denied for user 'dbusr' @'eu01.server.plus'
-
如果您访问
SELECT user, host FROM mysql.user;,您是否看到winnersm_librous列出了许多eu01.server.plus(或%)?如果不是,您将无法从该域与该用户连接。 “访问被拒绝”表明您可以正常访问服务器,只是您没有使用该用户/主机组合的访问权限。 -
我已经解决了,是远程mysql服务器上的主机权限问题,我的错。谢谢@JNevill
-
太棒了!我很高兴你解决了它! :)