访问远程 SQL 数据库 [2002]


Access Remote SQL database [2002]

好的,所以我正在尝试连接到我的远程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,
)

那么我做错了什么?

默认情况下,

许多托管的MySQL实例不允许客户端进行远程连接。如果您的数据库主机提供 IP 地址,您可能需要将其添加到某种形式的远程 MySQL 选项中。例如,如果带有数据库的服务器使用cPanel,则那里有一个"远程MySQL"选项,可以解决您的问题。或者,您可以执行"GRANT"SQL 命令以允许您的用户帐户远程访问,如本答案中所述。

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

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

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