好的,我正在尝试连接到我的远程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,
)
那么我做错了什么?
答案 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