2011-04-15 70 views
0

我有一个问题!可以从位于另一台服务器上的mysql数据库读取吗?远程MySQL读取?

我有CMS在本地服务器上的数据库写入,我想从另一台服务器从这个数据库读取新的网页!

你能帮我吗?

Tnx!

+0

只是建议:不要使用标准的3306端口。 – gustyaquino 2011-04-15 14:50:26

回答

2

在您为数据库指定的连接参数中,只需添加主机或主机名参数即可。您必须查看CMS的文档以了解如何精确指定此内容。在/etc/mysql/my.cnf

+0

$ con = mysql_connect(“localhost”,“peter”,“abc123”);我应该写什么,而不是“本地主机”? – bulicmatko 2011-04-15 14:42:07

2

(UNIX系统上),注释行:

bind-address   = 127.0.0.1 

,你应该能够从任何地点连接。请注意,您可能需要在防火墙规则中允许该端口的流量。

1

如果您的CMS和MySQL盒在网络上彼此开放,那么没有理由不能使用不同的盒子,因为您知道数据库盒的主机名和凭证。

1

是的,这是可能的。连接时只需添加MySQL机器的主机名而不是localhost

这需要三样东西:

  • MySQL服务器允许远程连接
  • 有没有防火墙阻止这种流量(这是很多便宜的网络主机的情况下)
  • 您的用户MySQL的权限配置为允许来自远程主机的连接(有时用户在特权表中设置为user @ localhost,该特权表不允许该用户的所有远程连接)。
0

MySQL可以通过TCP/IP进行连接。如果您有数据库服务器D配置,则客户端C可以从任何地方连接到它。在大多数系统中,默认情况下D只允许本地连接,本地客户端。请参阅“GRANT”文档,了解如何授予客户从远程连接的权利。

MySQL也可以复制。这意味着你有几个数据库服务器,它们确保它们之间的数据始终是最新的。显然这很难听到:)。通常,您将设置某种主从复制:主数据库允许写入,并且它将确保不久以后,其所有从服务器都会获取最新的数据。客户端可以从任何服务器读取,无论是从服务器还是主服务器。