mysql主从搭建后默认同步所有库,同步原理是通过二进制日志方式传输。因此若想仅同步特定库有两种方式:
一、mysql主库二进制日志忽略部分库:
#编辑my.cnf,在mysqld字段添加如下内容:
binlog-do-db=xxxx 二进制日志记录的数据库
binlog-ignore-db=xxxx 二进制日志中忽略数据库
#修改之后重启生效
service mysql restart
二、mysql从库不复制部分库:
#编辑my.cnf,在mysqld字段添加如下内容:
replicate-do-db 设定需要复制的数据库
replicate-ignore-db 设定需要忽略的复制数据库
replicate-do-table 设定需要复制的表
replicate-ignore-table 设定需要忽略的复制表
replicate-wild-do-table 同replication-do-table功能一样,但是可以通配符
replicate-wild-ignore-table 同replication-ignore-table功能一样,但是可以加通配符
#修改后重启数据库生效
service mysql restart
注意,网上很多文章说多个数据库之间用","分隔。亲测貌似不行,建议多个数据库写多行。
在配置之后可以在show slave status\G中看到相应信息: