手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

MySQL 5.6 建立GTID主从复制 (GTID-based Replication)

[日期:2017-03-30] 来源:Linux社区  作者:Fantasy life [字体: ]

实验基于
MySQL 5.6.x(5.6.30)
ps. MySQL 5.7开启GTID更方便

master: 192.168.1.186
slave: 192.168.1.187



〇 同步两个mysql实例的数据
先在master和slave上执行

  1. SET @@global.read_only=ON;

然后通过mysqldump、xtrabackup等工具备份master数据,并且恢复到slave上。
因为开启了read_only恢复可能需要具有super权限的用户。

〇 关闭两个mysqld

〇 修改配置文件,并以GTID方式启动:
master和slave配置文件都需要改
配置文件[mysqld
]里至少需要添加:

  1. log-bin
  2. relay-log                   = relay-log
  3. log-slave-updates
  4. gtid_mode                   = ON # 5.6为静态参数,5.7.6以后为动态参数
  5. enforce-gtid-consistency    = ON # 5.6中为布尔类型,5.7.6以后为枚举类型,多了两个选项


另外要保证master和slave的server_id不一致

(在5.7中,slave也可以不需要开启binlog便可以启动GTID了,存放在mysql.gtid_executed中)


〇 建立连接
在master上创建replication用户:

  1. GRANT replication slave ON *.* to repl@'192.168.1.187' IDENTIFIED BY 'repl@pwd';
  2. FLUSH PRIVILEGES;

并且在slave上执行:

  1. CHANGE MASTER TO
  2.     MASTER_HOST = '192.168.1.186',
  3.     MASTER_PORT = 3306,
  4.     MASTER_USER = 'repl',
  5.     MASTER_PASSWORD = 'repl@pwd',
  6.     MASTER_AUTO_POSITION = 1;
  7. START SLAVE;

〇 在master上关闭read_only

  1. SET @@global.read_only=OFF;

〇 参考文档:
MySQL 5.6 Reference Manual - Chapter 17 Replication - 17.1.3.2 Setting Up Replication Using GTIDs

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-03/142385.htm

linux
相关资讯       MySQL主从复制 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款