第一步
找运维备份数据库 或者自己干
大概命令— 这是备份部分表的
mysqldump 库 --master-data --single-transaction --host=ip --port=port --user=root --password='root' 表命空格表名 > user_portrait.sql
默认情况下mysqldump会对表加锁,而使用–single-transaction会将备份的操作放在一个事务中进行,从而避免了加表锁
主要获取这个:
CHANGE MASTER TO MASTER_LOG_FILE='mysql_bin.000003', MASTER_LOG_POS=221801172;
针对无权限登陆mysql服务器的可以用这个
FLUSH TABLES WITH READ LOCK;锁库所以数据请求会阻塞
show master status//获取log_file and log_pos
//用navicat或者其它备份数据
UNLOCK TABLES;解锁
master库分别添加备份账户
grant replication slave on *.* to 'slave'@'%' identified by '123456';
第二步
从库执行sql命令 ,1个库建一个通道
change master to
master_host='192.168.1.2',
master_port=3306,
master_user='slave',
master_password='123456',
master_log_file='mysql_bin.000001',
master_log_pos=15498260 for channel 'mahout';
[mysqld]
server-id=101
expire_logs_days=7
master_info_repository=table
relay_log_info_repository=table
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-ignore-db = sys
#DATABASE:数据值,基于库的并行复制方式
#LOGICAL_CLOCK:基于组提交的并行复制方式
#并行工作数量
slave-parallel-workers=16
#错误跳过不同步ddl(1007,1008,1050,1051,1054,1060,1061,1068,1094,1146,1022)
slave-skip-errors = 1062,1053,1146,1213,1264,1205,1396
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#(GTID模式必须开始log_slave_updates,对性能有一定影响,Mysql 5.7之后从节点可以不开启binlog)
log-slave-updates = ON
slave-parallel-type=LOGICAL_CLOCK
relay_log_recovery=ON
#超时
slave_net_timeout = 30
#库重命名
replicate-rewrite-db=A->statistic
replicate-rewrite-db=B->statistic
replicate-rewrite-db=C->statistic
#我只同步部分表 同步整个库用这个replicate-to-db
#表名不可以重复。
#A库
replicate-do-table=statistic.a1
# b库 wild 类似 like 支持 statistic.a%(不介意多库用模糊匹配)
replicate_wild_do_table=statistic.b1表
replicate_wild_do_table=statistic.b2表
#c数据库
replicate_wild_do_table=statistic.c1表
replicate_wild_do_table=statistic.c2表
© 2020 Gogs 当前版本: 0.11.91.0811 页面: 49ms 模板: 1ms 简体中文 官方网站 Go1.12.7
stop slave; 停止同步,任何影响同步的操作,先停止同步
start slave;启动同步
start slave 'channelname';
reset slave all;重置同步配置
reset slave;重置同步
show slave status; 双yes即可 runnig and sql