基本上,我需要连接到另一个不同域上的数据库。
例如,我将使用domain1和需要连接的域,使用domain2作为具有数据库的域。
我试过:
mysql_connect("domain2.com.au", "user", "pass") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());不过,这不起作用。
为了找到解决方案,我在网上找了很长一段时间,其中很多都涉及登录到我不熟悉的SSH中,我想避免使用这种方法。
如果需要的话,这里是我的错误(为了隐私而修改的一些东西):
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'user'@'host.com' (using password: YES) in /php/2012.php on line 270
Access denied for user 'user'@'host.com' (using password: YES)数据库中是否有允许从其他域访问的选项?如果是的话,这究竟是在哪里?
是否有需要连接的端口,如domain2.com.au:3307
发布于 2013-09-26 02:38:44
如果您使用的是共享主机,那么它将被禁用。您可以尝试通过与您的支持部门联系来启用它,或者如果您有cPanel x3,请转到MySQL部分中的远程数据库部分。
发布于 2013-09-26 00:56:40
您需要在domain2的MySQL服务器上启用远程访问。
打开您的my.cnf文件(基于debian的/etc/mysql/my.cnf),并确保删除或注释行:
#skip-networking并添加或编辑这一行:
bind-address=[YOUR SERVER's EXTERNAL IP]在此之后,重新启动mysql服务。
/etc/init.d/mysql restart 或
service mysql restart然后,需要授予对数据库的远程访问权限。打开mysql控制台:
mysql -u root –p mysql
mysql> GRANT ALL ON [DB].* TO '[USER]'@'[IP]' IDENTIFIED BY '[PASSWORD]';
mysql> exit其中,[DB]是数据库,[USER]是mysql用户名,[IP]是服务器的外部IP入口,[PASSWORD]是用户的密码。
https://stackoverflow.com/questions/19017487
复制相似问题