我有两个共享主机帐户,每个帐户都有自己的数据库(有自己的 cPanel 登录名)。假设这两个数据库具有相同的结构,我需要做什么才能同步它们?
同步脚本将位于与其中一个托管帐户相关联的域中。我知道用于同步同一帐户上的数据库的 MySQL/PHP 相当简单,但让我困惑的是如何访问不同主机上的数据库?
这不是一次性的事情,我需要能够通过单击按钮/链接来完成。
唯一想到的是让远程数据库定期将所有内容导出到 .csv 文件,并让连接到第一个数据库的域上的脚本导入所有内容,但是否有更好的方法?
如果整个问题令人困惑,问题的要点是 - 有没有办法让域上的脚本访问完全不同的共享主机帐户上的数据库?
最佳答案
总之,不行,没办法。
通常,托管服务提供商只允许 localhost
用户访问数据库。这意味着来自另一台机器的脚本无法访问它。
另外,这是什么样的同步?单向还是双向? (但是,我猜,这超出了这里的范围)
想到的唯一可行的解决方案是某种转储/恢复程序。
示例:
webserver
A
(数据源)定义了一个 URL,通过请求可以获取 DB 的转储内容网络服务器
B
(数据的目的地)定义了一个带有“同步”按钮的页面。单击“同步”按钮后,服务器
B
将从服务器A
获取该 URL,接收 A 的数据并将其与自己的合并。
注意
保护数据导出 URL 很重要。在该脚本中,您可以检查传入请求的 IP 或“access_token”的存在和正确性或任何您喜欢的内容。
关于php - 在两个共享主机帐户的数据库之间移动数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603966/