MySQL同步部分表的操作方法(mysql 同步 部分表)
MySQL数据库定期同步部分表的操作方法是比较常用的,它可以通过指定复制的表或忽略的表来同步数据。下面介绍一个MySQL同步部分表的操作方法:
方法一:
假设源MySQL数据库:src_host
目标MySQL数据库:des_host
复制的表:table1,table2
首先要在源MySQL服务器上建立临时数据库,以便将表从源MySQL数据库中提取,临时数据库可以用下面的语句建立:
`CREATE DATABASE IF NOT EXISTS src_host_temp`
然后在源MySQL服务器上,复制table1和table2到临时库中:
`CREATE TABLE src_host_temp.table1 LIKE src_host.table1;
INSERT INTO src_host_temp.table1 SELECT * FROM src_host.table1;
CREATE TABLE src_host_temp.table2 LIKE src_host.table2;
INSERT INTO src_host_temp.table2 SELECT * FROM src_host.table2;`
最后,通过mysqldump命令在源MySQL服务器上将临时数据库中的表复制到目标MySQL服务器:
`mysqldump src_host_temp -h des_host -u root –password=root -t –table table1 –table table2 > ~/sync_tables.sql`
这样,就可以轻松的完成MySQL同步部分表的操作了。
方法二:
另外一种MySQL同步部分表的操作方法是使用MySQL的主从复制功能。MySQL的主从复制功能可以让所有的表都有一份一模一样的拷贝,所以我们可以只把需要复制的部分表在主从配置过程中提取。
首先需要在主MySQL服务器上启用binlog日志:
`GRANT REPLICATION SLAVE ON *.* TO ‘replicant’@’%’ IDENTIFIED BY ‘password’;
SET GLOBAL log_bin_trust_function_creators=1;
FLUSH PRIVILEGES;`
然后在需要复制的表上启用复制锁:
`USE src_host;
FLUSH TABLES table1,table2 FOR EXPORT;`
接着,在从MySQL服务器上建立复制连接:
`CHANGE MASTER TO MASTER_HOST=’src_host’,MASTER_USER=’replicant’,MASTER_PASSWORD=’password’,MASTER_LOG_FILE=’mysql-bin.00001′,MASTER_LOG_POS=93;
START SLAVE`
最后,在主MySQL服务器上启用binlog日志,并取消前面设置的复制锁:
`UNLOCK TABLES;
SET GLOBAL log_bin = ON`
这样就算完成了MySQL同步部分表的操作。
以上就是MySQL同步部分表的两种操作方法,这些操作方法都是比较简单,只要记住步骤和语句,就可以完成MySQL同步部分表的快速操作。