之前 介绍了如何配置mysql数据库的主从复制,配置主从复制的时候会遇到一些问题
比如同步的时候出错了导致从库同步卡住
比如只想同步某一个数据库或者不想同步某一个数据库
也有时候我们一个数据库有一些表不想同步
本文介绍一些如何配置这些需求
如何避免一些错误
比如从库一个表不存在导致整个从库的同步都卡主等,可以配置从库的my.cnf,添加以下配置
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
这样出现这些错误代码时主从复制依然会跳过错误继续同步下一条记录
如果主库上有个数据库不需要同步
可以在主库的配置文件添加
binlog-ignore-db = testdb
如果只想同步某一个数据库,可以在配置文件添加
binlog-do-db =testdb
如果二者都不存在,那么所有数据库都会被同步,如果二者都存在则以binlog-do-db 优先
如果有多个数据库,那么填写多条记录即可
如果只想某一个表不被同步,那么配置文件添加
replicate-ignore-table=testdb.test_table即可
因为主从复制必须开启binlog,而binlog很可能日积月累非常大写爆磁盘
所以可以配置
expire-logs-days = 7
只保留7天的二进制日志
relay-log-space-limit = 16G
限制binlog的空间最大使用16G
以防磁盘被日志占满