我想开发我的数据库不在localhost中的应用程序,比如这个
$ db ['default'] ['hostname'] =“192.168.0.120”;
但是应用程序说了这个 发生数据库错误
无法使用提供的设置连接到数据库服务器。
可以使用某些服务器数据库而不仅仅是localhost来编码吗?或者可能缺少什么?
答案 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;