首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将本地MySQL (完全访问)同步到远程访问(仅限于PHP)

问如何将本地MySQL (完全访问)同步到远程访问(仅限于PHP)
EN

Server Fault用户
提问于 2012-03-15 14:29:30
回答 1查看 2.8K关注 0票数 0

我们的场景是一个本地Linux服务器,我们可以在它上做我们想做的任何事情,包括安装东西和设置cron作业,以及一个只能通过MySQL访问的远程服务器。远程一个是通常的LAMP托管服务,所以我们可以上传任何我们想要的PHP,但是只有来自本地主机的php脚本本身才能连接到MySQL,我们不能从外部直接连接到数据库。有FTP上传和管理PHP文件。

本地服务器运行一些业务软件,我们编写脚本从该软件获取一些数据。我们需要将这些数据加载到MySQL托管的网站上的一些专用表中。

出于测试目的,我们导出本地db (使用本地phpMyAdmin)并在远程系统上导入它(使用远程phpMyAdmin),当然,它可以正常工作。现在我们需要把它自动化。

我们的“同步”实际上是远程端的完全擦除,然后从本地db重新导入所有内容。每晚都会发生这种事。

第一个想法是本地cron作业,它通过mysqldump导出,通过FTP上传,wget是一个远程php文件URL (经过一些凭据检查),最终运行上传的SQL。有点盲目愚蠢的剧本。只要我把陌生人排除在SQL upload / SQL导入区域之外,就应该工作得很好。

而不是重新发明车轮,是不是有什么东西可以达到同样的结果,也许以一些更聪明的方式,我没有想到?

谢谢。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-03-15 16:39:00

除了可能跳过ftp部分之外,我想不出更好的方法了。相反,只使用wget直接使用POST (尽管我会检查如果POST失败了会发生什么,即对于PHP上传大小来说,数据太大了)。这将跳过脚本中的一些复杂性,因为您只是在执行mysqldump,然后是wget,然后是POST (除非我遗漏了什么)。

然而,更重要的问题是,为什么要使用只允许PHP访问的主机?您已经有一个开发系统在本地工作,因此您知道如何处理事务的管理端。您确实应该尽可能接近生产和开发环境,以避免因对不同系统进行故障排除而产生的烦人的小麻烦(更不用说避免这种特殊的管理麻烦了)。

我的VDS提供商为1GB 48做了一年的托管包,提供1GB的空间、100 1GB的流量和一个数据库(这是inc. 增值税,所以如果你可以收回这个价格,那就少花点钱吧)。你就有了完整的外壳访问权限。我相信有很多这样的主机提供商,所以为什么要阻碍未来的发展呢?它只会把你踢得更远。

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

https://serverfault.com/questions/370076

复制
相关文章

相似问题

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