1.主从复制如何设置不复制某些表或者数据库。
从库:vi /etc/my.cnf
(1)设置从库不许复制的数据库。
replicate-ignore-db=migrationdb
--或者:
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=performance_schema.%
(2)设置需要复制的数据库
replicate_wild_do_table=test.%
(3)设置不需要复制的表。
replicate-wild-ignore-table=ct_serverlog.tsdp_server_log_info_tmp
2.样例展示
(1)从库修改参数
vi /etc/my.cnf
replicate-wild-ignore-table=ct_serverlog.tsdp_server_log_info_tmp
replicate-ignore-db=migrationdb
(2)查看从库状态。
Master_Log_File: mysql-bin.007344
Read_Master_Log_Pos: 1042880909
Relay_Log_File: chac-srv-basic-computing-5-relay-bin.000169
Relay_Log_Pos: 430949622
Relay_Master_Log_File: mysql-bin.007342
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: migrationdb
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: ct_serverlog.tsdp_server_log_info_tmp
Last_Errno: 0
Last_Error:
Skip_Counter: 0
可以看到
Replicate_Wild_Ignore_Table出现不需要复制的表。
Replicate_Ignore_DB 出现不需要复制的数据库。
3.总结
通过从库复制的参数,可以控制要复制哪些库,忽略哪些库,复制哪些表,忽略哪些表。可以非常灵活的配置想复制的库和表,及不想复制的库和表。逻辑从库类似Oracle OGG,只复制自己想要的内容。