基于GTID的主从复制搭建
前置检查
server-id = 10,master/slave不允许重复
log-bin
gtid-mode = ON
enforce-gtid-consistency = ON
1,利用mysqlpump复制master数据到slave,搭建基于GTID的主从复制,缺少GTID处理方法,暂不成功。
mysqlpump --host= --user= --password= --single-transaction--default-parallelism=4--compress-output=LZ4"dbname">/home/dbname.sql.lz4
lz4 -d inputfile outputfile
mysql -u -p </home/dbname.sql
常见错误:Message: Got a packet bigger than 'max_allowed_packet' bytes
max_allowed_packet过小,调大到32M,默认4M。
CHANGEMASTERTO
MASTER_HOST='host_name',
MASTER_USER='user_name',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1;
startslave;
ERROR 1776 (HY000) at line 30: Parameters MASTER_LOG_FILE, MASTER_LOG_POS, RELAY_LOG_FILE and RELAY_LOG_POS cannot be set when MASTER_AUTO_POSITION is active.
mysqlpump 备份文件缺少SET @@GLOBAL.GTID_PURGED='XXX:1-XXX';相关语句。
暂无解决方法。
2,使用mysqldump复制master数据到slave,搭建基于GTID的主从复制。
mysqldump --host= --user= --password= --single-transaction --routines --events "dbname" |gzip >/home/dbname.sql.gz
常见错误:mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table。
网络写超时,更改net_write_timeout为600,默认60。
gzip -cd inuptfile > outputfile
mysql -u -p </home/dbname.sql
CHANGEMASTERTO
MASTER_HOST='host_name',
MASTER_USER='user_name',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION=1;
startslave;
3,使用mysqldbcompare进行数据一致性校验;
比较两个服务器之间具有相同名称的所有数据库;
忽略以下数据库︰INFORMATION_SCHEMA, PERFORMANCE_SCHEMA, mysql, and sys。
mysqldbcompare --server1=user:password@localhost --server2=user:password@localhost --changes-for=server1 -a
Databases are consistent.检查通过。
完成主从搭建。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。