我想编写PHP代码嵌入到Drupal7模块中。
我想调用一个过程,它可以将本地MySQL数据库中新生成的数据复制到远程MySQL数据库中。
当数据插入本地数据库的表A中时,应将其复制到远程MySQL数据库上的特定表B中。
Table 'A' is on local host.
Table 'B' is on remote server.
INSERT data on 'A' -> copied to 'B'这个是可能的吗?
发布于 2012-06-28 11:45:00
有三种方法来设置这个
在从服务器具有此选项的位置设置MySQL复制
replicate_do_table=mydb.mytable然后,您执行的任何DML (插入、更新、删除)或DDL (ALTER )都将立即转到serverB。这使得方法#1是最快和最细粒度的方法。
下面是我在2011年5月31日为这个方法做的一篇较早的文章:如何从MySqlServer复制表_A到MySqlServer_B?
假设serverA上的mytable如下所示
CREATE TABLE mydb.mytable
(
...
) ENGINE=MyISAM;通过在serverB上运行如下所示,您可以在serverA中对目标表进行映射
CREATE TABLE mydb.mytable_remote LIKE mytable;
ALTER TABLE mydb.mytable_remote ENGINE=FEDERATED
CONNECTION='mysql://username:password@serverB/mydb/mytable';我早在2012年1月4日就写了一篇文章:从本地mysql服务器中获取外部托管的db表
然后,必须将serverA中的所有内容批量复制到在serverA上运行以下命令的serverB:
INSERT IGNORE INTO mydb.mytable_remote SELECT * FROM mydb.mytable;发布于 2022-06-07 09:53:38
复制方法对这种情况很好,为什么,这里是MySQL中复制的优点包括:
扩展解决方案-在多个副本之间传播负载,以提高性能。在此环境中,所有写入和更新都必须在复制源服务器上进行。但是,读取可能发生在一个或多个副本上。这个模型可以提高写操作的性能(因为源专用于更新),同时在越来越多的副本中显着地提高读取速度。
数据安全性-由于数据被复制到副本,并且副本可以暂停复制过程,所以可以在副本上运行备份服务,而不会损坏源上的相应数据。
分析--可以在源上创建实时数据,而对信息的分析可以在副本上进行,而不会影响源的性能。
远程数据分发--如果分支机构希望处理主数据的副本,则可以使用复制创建数据的本地副本供其使用,而不需要永久访问源。
https://dba.stackexchange.com/questions/20095
复制相似问题