php - 无法连接到远程主机上的 mysql 数据库

标签 php mysql

我不确定我使用的术语是否正确,因此如果您需要,请要求澄清:)。

无论如何,我通过 HostEasySolutions(服务器 A)进行托管。它带有一个 MySql 数据库,使用 PHPMyAdmin 作为前端。在服务器A上,我添加了一些PHP文件来访问数据库,并且工作正常。

如果我通过 DreamHost(服务器 B)将 php 文件复制到其他服务器,我将无法连接到数据库。我收到错误:无法连接到“combinedsystems.ca”(110) 上的 MySQL 服务器

在服务器 A 上的 cPanel 中,我将服务器 B 的 IP 添加到远程数据库访问主机中,我还添加了通配符“%”,只是为了看看是否可以使其正常工作...但仍然可以找不到服务器。

我不确定发生了什么,据我所知没有防火墙。

唯一让我印象深刻的是,如果我访问服务器 A 的 PHPmyAdmin,它会显示 Server: Localhost via UNIX socket,而对于服务器 B 的 PHPMyAdmin,它会显示:服务器:通过 TCP/IP 的 mysql.pdem.info

最佳答案

大多数(全部?)托管公司都在防火墙上关闭了端口 3306。

你需要做什么:

  • 在数据库中添加远程数据库访问
  • 编辑 my.cnf 以监听所有接口(interface)。默认 mysql 仅监听 localhost

大多数时候你都不走运!即使没有防火墙(非常不安全),您也无法访问 my.cnf

关于php - 无法连接到远程主机上的 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334443/

相关文章:

php - MySql 查询与 Json

php - 从多个表到一个查询的多个 SUM

php - "show columns"mysql在zend框架中的写法

php - jquery:给用户一条 "no data"消息而不是打印一个空图

php - for循环中的动态变量名

mysql - 从大表中删除一列

php - 此付款请求必须由发件人授权 - Paypal

PHP 检查数组中的多个值 - 正确的方法?

mysql - 如何从MySQL的JSON数组中删除数字?

php - NOT IN 运算符不适用于 mysql 中的非主键值