如何使用不在localhost中的数据库连接数据库

时间:2011-01-07 03:47:29

标签: php mysql codeigniter

我想开发我的数据库不在localhost中的应用程序,比如这个

$ db ['default'] ['hostname'] =“192.168.0.120”;

但是应用程序说了这个 发生数据库错误

无法使用提供的设置连接到数据库服务器。

可以使用某些服务器数据库而不仅仅是localhost来编码吗?或者可能缺少什么?

2 个答案:

答案 0 :(得分:2)

位于该IP地址的服务器必须配置为允许远程MySQL连接,至少到端口3306或MySQL配置为侦听的端口。

答案 1 :(得分:2)

除了上面BoltClock的答案之外,还可能需要授予sql用户适当的权限以远程连接到数据库。

假设您使用的是MySQL,这里有两种(取决于您希望如何配置)不同的方式来执行该操作。

A)允许来自IP 192.168.0.200的sql_user的远程连接:

mysql> GRANT ALL ON database.* TO 'sql_user'@'192.168.0.200' IDENTIFIED BY 'PASSWORD';

B)允许来自任何IP的sql_user的远程连接:

mysql> GRANT ALL ON database.* TO 'sql_user'@'%' IDENTIFIED BY 'PASSWORD';

完成后,您还需要刷新/重新加载权限:

mysql> FLUSH PRIVILEGES;