【问题标题】:Laravel Artisan: Using a remote databaseLaravel Artisan:使用远程数据库
【发布时间】:2016-01-15 08:36:54
【问题描述】:

我正在使用 Laravel 5.1,试图在我的本地计算机上运行 php artisan migrate。我使用远程数据库的凭据设置了我的 .env 文件。

但是,在运行时,我得到一个错误(为了安全,替换了真实的细节):

Access denied for user 'user'@'44.55.66.77' to database 'db_laravel'

似乎出于某种原因,它正试图在我的本地 IP(44.55.66.77)上运行命令,而不是远程数据库。我已经尝试过允许从我的 IP 远程访问数据库,但是我仍然遇到同样的问题。

我也已经尝试使用其 IP 连接到数据库,但无济于事。

提前感谢您的帮助!

更新:好的,我阅读了一些主机的文档,并尝试使用 % 作为通配符来允许任何 IP 访问数据库。我现在得到Access denied for user 'user'@'%' to database 'db_laravel'。但是,仍然不确定发生了什么。

【问题讨论】:

  • 用户是否允许远程访问?你用的是什么端口?数据库访问权限比拥有用户名、密码和数据库多一点
  • @EliasVanOotegem 是的,正如我提到的,我给了用户远程访问权限。我应该在 Laravel 的 .env 文件中使用端口吗?
  • 您是否刷新了权限?是否暴露了默认的 MySQL 端口(3306)? PS:有一个 DBA 站点处理访问设置和 DB 配置...该站点可能更适合您的问题
  • @EliasVanOotegem MySQL 的一切都已按应有的方式设置。我不明白 Artisan 如何尝试连接到我的本地 IP 而不是我的数据库,情况应该如此。我认为它甚至无法尝试连接到数据库。
  • 您是否在 env 文件中将MYSQL_HOST 设置为远程主机?

标签: php mysql laravel laravel-5.1 laravel-artisan


【解决方案1】:

这个 "'user'@'44.55.66.77'" 表示用户从 ip "44.55.66.77" 连接,而不是连接到 "44.55.66.77"。

【讨论】:

  • 那么有什么技巧可以解决这个问题吗?
【解决方案2】:

所以我解决了这个问题。这是我的主机没有正确接受我输入的允许远程访问的 IP 的问题。现在一切都很好。感谢您的所有帮助!

【讨论】:

    猜你喜欢
    • 2014-06-05
    • 2016-12-09
    • 2017-06-11
    • 2018-11-06
    • 2012-12-29
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多