【问题标题】:Laravel 5 and remote mysql not working on productionLaravel 5 和远程 mysql 无法用于生产
【发布时间】: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.plusCREATE 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
  • 太棒了!我很高兴你解决了它! :)

标签: mysql database laravel


【解决方案1】:

通过将 eu01.server.plus 添加到远程 mysql 服务器上的授权主机来解决。最初我添加的是 IP 而不是主机名。

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2019-08-12
    • 2015-01-30
    • 2015-11-17
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    相关资源
    最近更新 更多