MYSQL基于GTID的复制

发表于:2016-9-28 10:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:自由港    来源:51Testing软件测试网采编

  1.概述
  从MYSQL5.6 开始,mysql开始支持GTID复制。
  基于日志点复制的缺点:
  从那个二进制日志的偏移量进行增量同步,如果指定错误会造成遗漏或者重复,导致数据不一致。
  基于GTID复制:
  1.从服务器会告诉主服务器已执行的事务的GTID值。
  2.主库会告诉从哪些GTID事务没有被执行。
  同一个事务在指定的从库执行一次。
  什么是GTID
  GTID即全局事务ID,器保证为每一个在主上提交的事务在复制集群中可以生成一个唯一的ID.
  GTID=source_id:transaction_id
  source_id:是主库的server UUID,在数据目录的auto.cnf 文件中。
  transaction_id: 从1开始的一个序列。
  2.基于GTID复制的步骤
  1.在主DB服务器上建立复制帐号。
  和日志点是一样的。
  2.配置主数据库服务器
  bin_log =mysql-bin
  server_id=1001
  gtid_mode=on
  enforce-gtid-consiste:强制事务一致性,保证事务的安全
  不能使用:
  1.create table 。。select
  2.在事务中使用create temporary table 建立临时表,使用关联更新事务表和非事务表。
  log-slave-updates=on
  在从服务器中记录从主服务器传过来的日志数据。
  使用GTID 5.6 必须使用此参数,5.7可以不使用。
  3.配置从服务器。
  server_id=1002
  relay_log=relay_log
  gtid_mode=on
  enforce-gtid-consistency
  建议配置
  read_only=on
  保证从服务器数据安全性
  master_info_reposistory=TABLE
  relay_log_info_reposistory=TABLE
  从服务器连接主服务器的信息和中继日志存放咱 master_info,和relay_log中。
  4.初始化从服务器数据。
  mysqldump --master-data=2 -single-transaction
  xtarbackup –slave-info
  记录备份时最后的事务GTID值。
  导出数据
  mysqldump --single-transaction --master-data=2 --triggers -routines --all-databases -uroot -p -P3308 >all2.sql
  导入数据
  mysql -uroot -p -P3309 < all2.sql
  5.启动基于GTID的复制
  change master to master-host=’主服务IP’,
  master_user=’repl’,
  master_password=’password’,
  master_auto_position=1
  change master to MASTER_HOST='192.168.1.106',
  MASTER_PORT=3308,
  MASTER_USER='repl',
  MASTER_PASSWORD='repl',
  master_auto_position=1;
  start slave;
  show slave status \G;
  image
  在启动slave时报错。
  ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
  解决办法:
  reset slave;重置slave
  再启动 slave
  start slave;
  测试同步:
  1.在主库创建一张表,插入记录。
  2.在从库查询验证是否正确,经验证配置正确。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号