【问题标题】:connect Laravel to a database on another IP将 Laravel 连接到另一个 IP 上的数据库
【发布时间】:2015-01-18 14:10:15
【问题描述】:

我需要我的 Laravel 项目来使用另一个网络上的虚拟机上的数据库。 我知道

上有两个数据库配置
app/config
app/config/local

我用的是MySql,应该如何配置database.php文件?

现在配置到我的本地:

'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'db_name',
        'username'  => 'root',
        'password'  => 'the_password',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

【问题讨论】:

  • 您需要两个从同一个安装访问两个不同的数据库,还是我们在这里谈论不同的环境?
  • 只需要一个连接,我们在谈论不同的环境
  • 那么到底是什么问题呢?你不能把主机换成另一个IP吗?或者您在设置环境方面需要帮助?
  • 问题是当我设置配置时,然后我尝试进入网页并显示此消息:SQLSTATE[HY000] [2003] Can't connect to MySQL server on ' xxx.xxx.xxx.xxx' (111) 不知道是配置问题还是虚拟机问题
  • 您的机器上是否安装了任何 MySQL 客户端(运行您的应用程序)以便验证连接?

标签: php mysql database laravel-4 connection


【解决方案1】:

您应该在 database.php 配置中指定远程 MySQL 服务器主机 IP 地址。

您还需要确保您已启用与 MySQL 数据库的远程连接(通常大多数 MySQL 服务器仅限于来自本地主机的连接)。为此,您需要使用以下命令创建新的数据库用户

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'IP' IDENTIFIED BY 'PASSWORD';

你把你安装 laravel 的服务器的 IP 放在哪里。

然后你必须执行

FLUSH PRIVILEGES;

你可以连接到远程数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    相关资源
    最近更新 更多