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同步部分表的快速操作。


数据运维技术 » MySQL同步部分表的操作方法(mysql 同步 部分表)