【问题标题】:PHP - connecting to mysql database from different serverPHP - 从不同的服务器连接到 mysql 数据库
【发布时间】:2011-05-13 11:20:18
【问题描述】:

我正在尝试将 mysql 数据库从另一台服务器连接到托管数据库的服务器,但出现错误。

我猜这可能与远程权限有关。这是我可以改变的还是我需要让我的托管公司来做这件事?

<?php
$con = mysql_connect("mysql4-remote.hosting.net","myadmin","password123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
?>

Can't connect to MySQL server on 'mysql4-remote.hosting.net' (10060)PHP Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'mysql4-remote.hosting.net' (10060) in D:\websites\abc123\www\test.php on line 2

【问题讨论】:

  • 3306端口是否允许在其他服务器上使用?
  • 我不确定是否诚实。我已联系技术支持,因为我认为他们需要根据请求允许远程用户。
  • 确实,它也可以被隧道化,请看下面的答案

标签: php mysql database-connection


【解决方案1】:

我会说,您的登录凭据或网络设置有误: 请参阅此帖子以获取更多帮助: http://wiki.answers.com/Q/What_does_MySQL_error_number_10060_mean

如果您无法从外部使用隧道访问,这里是一个示例:

$connection = ssh2_connect('SERVER IP', 22);  
ssh2_auth_password($connection, 'username', 'password'); 
$tunnel = ssh2_tunnel($connection, 'DESTINATION IP', 3307); 
$db = new mysqli_connect('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD',  
                         'dbname', 3307, $tunnel) 
    or die ('Fail: '.mysql_error()); 

【讨论】:

    【解决方案2】:

    您必须通过在mysql的USER表中插入特定的远程机器IP或通配符来授予远程用户权限。

    此链接将对您有所帮助。 Click Here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      • 2017-02-26
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      相关资源
      最近更新 更多