访问远程SQL数据库[2002]

时间:2013-10-12 16:32:56

标签: php sql database

好的,我正在尝试连接到我的远程SQL数据库。

我使用以下设置:

public $default = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => '10.246.16.153:3306',
    'login' => '*******',
    'password' => '*******',
    'database' => 'udlejnings_pris',
    'prefix' => '',
    //'encoding' => 'utf8',
);

我的数据库设置如下:

Database server
    Server: 10.246.16.153 via TCP/IP
    Software: MySQL
    Software version: 5.1.66-0+squeeze1 - (Debian)
    Protocol version: 10
    Server charset: UTF-8 Unicode (utf8)

现在,当我试图访问此服务器时,我收到以下错误:

    2013-10-12 16:27:28 Error: [MissingConnectionException] Database connection "Mysql" is missing, or could not be created.
Exception Attributes: array (
  'class' => 'Mysql',
  'message' => 'SQLSTATE[HY000] [2002]
',
  'enabled' => true,
)

那么我做错了什么?

2 个答案:

答案 0 :(得分:1)

许多托管的MySQL实例默认情况下不允许客户端远程连接。如果数据库主机提供了IP地址,您可能需要将其添加到某种形式的Remote MySQL选项中。例如,如果其上带有数据库的服务器使用cPanel,那么有一个“Remote MySQL”选项可以解决您的问题。或者,您可以执行'GRANT'SQL命令,以允许您的用户帐户远程访问,如in this answer所述。

如果您仍有问题,防火墙也可能在本地阻止连接。

答案 1 :(得分:1)

也许您需要在要连接的服务器上启用mysql远程访问。默认情况下,它被禁用。

http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html