【问题标题】:Need to install mysql in php webserver to access remote server mysql database?需要在 php webserver 中安装 mysql 才能访问远程服务器 mysql 数据库?
【发布时间】:2013-08-22 04:53:45
【问题描述】:

我正在尝试使用 php-fpm 和 nginx 设置一个单独的 debian 网络服务器来访问远程 mysql 服务器。到目前为止,我从这个参考http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html进行了几次设置@

完成后,当我使用命令行 mysql -uxxx -p -hxxxxx 从外部远程远程它时它可以工作

然后当我在我的网络服务器上尝试使用fuelphp访问数据库时,它给了我错误:

Fuel\Core\Database_Exception [ 2002 ]: 无法通过套接字'/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器

似乎尝试在本地找到套接字以连接到远程mysql。在php的安装上,我已经包含了apt-get php5-mysql 和除mysql server之外的其他。

我的问题:是否可以设置网络服务器而不必在本地机器上安装 mysql 以便远程访问 mysql?我想通过将网络服务器与数据库分离来优化网络服务器。谢谢

【问题讨论】:

  • 你提供什么作为你的 mysql 主机配置?
  • 在fuelphp db配置设置中,它看起来像这样: return array( 'default' => array( 'type' => 'mysql', 'connection' => array( 'hostname' => '10.130.82.144', 'username' => 'jim', 'password' => 'xxx', 'database' => 'xxxx', 'persistent' => false ), ), );
  • 你能像这样从你的终端访问你的远程mysql吗? mysql -u jim -h 10.130.82.144 -p

标签: php mysql linux installation


【解决方案1】:

您不需要在您的服务器中安装 mysql 服务器来访问远程 mysql。 Mysql 驱动程序还预装了 php,因此您也不需要安装这些驱动程序。但是我猜你需要在你的应用配置中查看你的 mysql 主机参数。它应该指向你实际的远程 mysql 主机。可能是您的远程 mysql 服务器所在的服务器的 IP 地址。并且您的远程 mysql 服务器需要允许您通过它进行连接,如您提供的链接所示。

【讨论】:

  • 远程服务器端设置正常。我确实尝试使用终端登录它,它工作正常。现在,只是从 php 方面仍然让我感到困惑。如果您对此有参考或链接,请分享,因为我已经在谷歌上搜索了好几天,大多数人直接将服务器设置在一个盒子中(LAMP)
  • 您是否可以通过 ssh 访问您的 Web 服务器?您可以尝试从网络服务器终端连接到您的远程 mysql 服务器吗?它在那里工作吗?
  • 我猜你只需要安装 mysql 客户端并将其配置为访问远程主机。
  • 遵循您提供的指南时也是如此。您是否还按照 STEP5 中的定义为您的网络服务器 IP 添加了访问权限?
  • 从网络服务器到远程 mysql 的连接正在工作。我事先测试了它,也在我安装了 php5-mysql 的网络服务器中进行了测试。我怀疑我正在使用的fuelphp框架是原因。也许我会先创建一个简单的php页面来测试它。
猜你喜欢
  • 2012-12-13
  • 2020-12-23
  • 2017-04-21
  • 2012-06-08
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
  • 2017-09-02
相关资源
最近更新 更多