首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接到另一个域上的MySQL数据库?

问如何连接到另一个域上的MySQL数据库?
EN

Stack Overflow用户
提问于 2013-09-26 00:43:42
回答 2查看 15.2K关注 0票数 3

基本上,我需要连接到另一个不同域上的数据库。

例如,我将使用domain1和需要连接的域,使用domain2作为具有数据库的域。

我试过:

代码语言:javascript
复制
mysql_connect("domain2.com.au", "user", "pass") or die(mysql_error());

mysql_select_db("database") or die(mysql_error());

不过,这不起作用。

为了找到解决方案,我在网上找了很长一段时间,其中很多都涉及登录到我不熟悉的SSH中,我想避免使用这种方法。

如果需要的话,这里是我的错误(为了隐私而修改的一些东西):

代码语言:javascript
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-26 02:38:44

如果您使用的是共享主机,那么它将被禁用。您可以尝试通过与您的支持部门联系来启用它,或者如果您有cPanel x3,请转到MySQL部分中的远程数据库部分。

票数 3
EN

Stack Overflow用户

发布于 2013-09-26 00:56:40

您需要在domain2的MySQL服务器上启用远程访问。

打开您的my.cnf文件(基于debian的/etc/mysql/my.cnf),并确保删除或注释行:

代码语言:javascript
复制
#skip-networking

并添加或编辑这一行:

代码语言:javascript
复制
bind-address=[YOUR SERVER's EXTERNAL IP]

在此之后,重新启动mysql服务。

代码语言:javascript
复制
/etc/init.d/mysql restart 

或

代码语言:javascript
复制
service mysql restart

然后,需要授予对数据库的远程访问权限。打开mysql控制台:

代码语言:javascript
复制
mysql -u root –p mysql

mysql> GRANT ALL ON [DB].* TO '[USER]'@'[IP]' IDENTIFIED BY '[PASSWORD]';
mysql> exit

其中,[DB]是数据库,[USER]是mysql用户名,[IP]是服务器的外部IP入口,[PASSWORD]是用户的密码。

http://dev.mysql.com/doc/refman/5.1/en/grant.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19017487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档