如何将数据从localhost MySQL服务器更新到远程MySQL服务器

时间:2010-02-10 06:15:04

标签: php mysql database-replication

我想将本地主机MySQL服务器上发生的每个操作(插入,更新,删除)的数据更新到远程MySQL服务器。我该怎么做?

3 个答案:

答案 0 :(得分:4)

启用database replication。出于性能原因频繁刷新并不是一个好主意,但也许这是一个可以接受的权衡?

答案 1 :(得分:2)

你不能使用Triggers吗?

  

22.5.5:触发器是否可以更新远程服务器上的表?   是。远程服务器上的表可以   使用FEDERATED存储进行更新   发动机。

来自:http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-22-5-1-5

我不建议这样做,因为你会为你做的每一个小改变消耗带宽。您可以尝试预定的工作。

答案 2 :(得分:0)

这是一个使用git服务器的简单而安全的解决方案,如果两个db_tables没有那么多变化并且不必始终保持相同,那么它可以正常工作。

  1. 在您的git服务器(GitHub,Bitbucket,other)上创建一个存储库
  2. 将存储库克隆到两台服务器
  3. 在要导出的服务器上运行这些终端命令

    $ cd /my/repository/path
    
    $ mysqldump -h localhost -u User_Id -pPassword DB_name Table_Name > Table_Name.sql
    
    $ git add .
    $ git commit -m "Table Update"
    $ git push https://git_server/repository/name
    

    db表现在位于git服务器上。

    在要导入的服务器上

    $ cd /my/repository/path
    $ git pull https://git_server/repository/name
    $ mysql -h localhost -u User_Id -pPassword DB_name < Table_Name.sql