应用场景
- 数据汇总,可将多个主数据库同步汇总到一个从数据库中,方便数据统计分析。
- 读写分离,从库只用于查询,提高数据库整体性能。
主库配置
[mysqld]
#确保唯一
server-id=1
#作为Master要开启binlog
log-bin=mysql-bin
#binlog format有三种形式:Statement、Mixed、Row,默认设置为mixed
binlog-format=Row
#需要同步的库,不指定默认同步全部库
binlog-do-db=yd_cms
#这个比较重要,直接影响同步的性能 延时等问题.mysql5.7多源复制参数,5.7之前版本可不加
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
从库配置
[mysqld]
#确保唯一
server-id = 3
#复制的库,不指定默认备份全部库
# replicate-do-db = master2
#需要复制的表
replicate-do-table=yd_cms.test1
#relay-log日志设置
#relay-log = /home/mysql/data/
#mysqld-relay-bin
#log-slave-updates = ON
#slave-parallel-type=LOGICAL_CLOCK
#relay_log_recovery=ON
#超时
slave_net_timeout = 30
#复制并发数设置
slave_parallel_workers = 16
#从库复制跳过错误
slave-skip-errors = 1062,1053,1146,1213,1264,1205,1396
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#mysql5.7多源复制必须添加的参数(不加报错),5.7版本之前不用加
master_info_repository=TABLE
relay_log_info_repository=TABLE
从库配置用户及binlog位置信息
CHANGE MASTER TO \
MASTER_HOST='10.29.53.162', \
MASTER_PORT=3306, \
MASTER_USER='root', \
MASTER_PASSWORD='root', \
MASTER_LOG_FILE='mysql-bin.000007', \
MASTER_LOG_POS=194 \
for channel '126';
CHANGE MASTER TO \
MASTER_HOST='10.29.53.162', \
MASTER_PORT=3307, \
MASTER_USER='root', \
MASTER_PASSWORD='root', \
MASTER_LOG_FILE='mysql-bin.000005', \
MASTER_LOG_POS=711 \
for channel '127';
#停止同步
stop slave;
#开始同步
start slave;
评论区