当前位置: 首页 > 面试题库 >

使用PHP连接到远程MySQL服务器

洪鹏海
2023-03-14
问题内容

我正在尝试使用以下代码从本地计算机virtualhost连接到远程MySQL服务器:

$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass") or die(mysql_error());
        mysql_select_db($dbname, $conn) or die(mysql_error());

我的问题是我无法本地连接,收到错误消息:

无法连接到“ xxx.xxx.xxx.xxx”上的MySQL服务器(10060)

当我将相同的PHP文件上传到服务器时,情况并非如此。我能够毫无问题地查询数据库。

我也无法通过命令行进行连接,但是我可以访问cPanel,它排除了我的IP被意外禁止的可能性。

我的本地服务器运行PHP 5.2.9,远程服务器5.2.12


问题答案:
  • 必须设置服务器防火墙以启用端口3306上的传入连接
  • 您必须在MySQL中拥有一个允许%(任意主机)连接的用户(有关详细信息,请参见手册)

当前的问题是第一个,但是在解决该问题后,您很可能会得到第二个。



 类似资料:
  • 问题内容: 我正在尝试使用mysql_connect从PHP通过SSL连接到远程MySQL服务器: 并得到最严重的错误: 我在my.cnf中添加了以下参数: 所以我可以使用终端从终端成功连接到远程mysql 因此,到mysql服务器的连接正常工作,据我了解,问题出在php / mysql合作中。可能我缺少一些参数。 不幸的是我不能使用mysqli lib,因为pdo_mysql有太多可用的适配器。

  • 问题内容: 我正在使用PHP和MySQL建立数据库连接,唯一的变化是我试图使用服务器IP地址从本地计算机访问远程服务器。 我得到的错误是。用户拥有所有特权和权利。 问题答案: MySQL的大多数默认安装仅侦听本地计算机。 在服务器上查找设置,并确保它正在侦听目标IP地址。您可能还需要确保 未 打开! 另外一种方法(不太安全!)可以将其设置为侦听所有地址-本地和远程:

  • 我在cloud9工作区中安装了一个phpmyadmin应用程序。我将其配置为连接在另一个cloud9工作区中运行的mysql服务器。要配置它,我只需在phpmyadmin配置文件(/var/lib/phpmyadmin/config.inc.php)中添加以下行: 我只是按照这里的指示 当我打开phpmyadmin时,我无法访问远程服务器,并且我总是在应用程序的顶部获得我添加到配置文件中的字符串:

  • 问题内容: 我想对redis.conf进行一些更改,以便每当我键入redis-cli时,它就会将我连接到安装在远程服务器上的redis。 我知道我们可以通过以下方式连接到安装在远程服务器上的redis: 但是实际上,我有一些bash脚本,在那些脚本中,我在很多地方都使用过redis-cli。因此,我不想以每个文件中的redis-cli -h’IP- Address-Of-Server’替换redi

  • 问题内容: 我已经使用Ubuntu 10.10服务器上http://redis.io/topics/quickstart上的快速入门指南中的说明成功安装了Redis 。我将服务作为dameon运行(因此可以通过init.d运行) 该服务器是具有内部和外部IP的Rackspace Cluster的一部分。主机在端口6379上运行(Redis的标准配置) 我在iptables中添加了一行,以允许来自端

  • 问题内容: 我正在尝试在Java项目中通过SSH连接到远程MySQL服务器。如何将SSH连接与JPA集成在一起? 我正在使用Netbeans 6.9.1,JPA,MySQL 5.2。 问题答案: 我假设您想隧道传输到仅侦听localhost(或已防火墙)的远程mysql 那么最简单的方法是 在运行应用程序服务器的帐户之间建立信任关系,以便将JPA服务提供给您的应用程序 创建隧道使用来创建隧道,该隧