欢迎各位站长加入个人网站交流讨论QQ群:530056449 本站微信公众号:WEBLBS

mysql基于GTID的主从复制实战

086ff4e6d8e40db2c4ad71c2f50e40fb_mark.jpg

MySQL 5.6引入的GTID(Global Transaction IDs)使得其复制功能的配置、监控及管理变得更加易于实现,且更加健壮。

要在MySQL 5.6中使用复制功能,其服务配置段[mysqld]中于少应该定义如下选项:

binlog-format:二进制日志的格式,有ro

  W、statement和mixed几种类型;

需要注意的是:当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW,现在MySQL官方认为STATEMENT这个已经不再适合继续使用;但mixed类型在默认的事务隔离级别下,可能会导致主从数据不一致;

log-slave-update

  S、gtid-mod

  E、enforce-gtid-consistenc

  Y、report-port和report-host:用于启动GTID及满足附属的其它需求;

master-info-repository和relay-log-info-repository:启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能;

sync-master-info:启用之可确保无信息丢失;

slave-paralles-workers:设定从服务器的SQL线程数;0表示关闭多线程复制功能;

binlog-checksu

  M、master-verify-checksum和slave-sql-verify-checksum:启用复制有关的所有校验功能;

binlog-rows-query-log-events:启用之可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度;

log-bin:启用二进制日志,这是保证复制功能的基本前提;

server-id:同一个复制拓扑中的所有服务器的id号必须惟一;


  一、Mysql基于GTID的主从复制实战

1、准备工作

hostnamectl set-hostname www.mysql61.com

cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

:1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.130.61 www.mysql61.com

192.168.130.62 www.mysql62.com

192.168.130.63 www.mysql63.com

关防火墙、selinux

firewall-cmd --state

systemctl stop firewalld

firewall-cmd --state

systemctl disable firewalld

vim /etc/selinux/config

setenforce 0

修改UUID

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

vim /mydata/data/auto.cnf

2、配置master节点:

[mysqld]

binlog-format=ROW

log-bin=/mydata/binlog/log-bin

log-slave-updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

server-id=61

report-port=3306

port=3306

datadir=/mydata/data

socket=/tmp/mysql.sock

report-host=www.mysql61.com

mysql

GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'192.168.130.%' IDENTIFIED BY 'replpass'。管理是指在特定的 环境条件下,以人为中心通过计划、组织、指挥、协调、控制及创新等手段,对组织所拥有的人力、物力、财力、信息等资源进行有效的决策、计划、组织、领导、控制,以期高效的达到既定组织目标的过程。网络技术它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。

FLUSH PRIVILEGES;

3、配置slave节点:

[mysqld]

binlog-format=ROW

log-bin=/mydata/binlog/log-bin

log-slave-updates=true

gtid-mode=on

enforce-gtid-consistency=true

master-info-repository=TABLE

relay-log-info-repository=TABLE

sync-master-info=1

slave-parallel-workers=2

binlog-checksum=CRC32

master-verify-checksum=1

slave-sql-verify-checksum=1

binlog-rows-query-log_events=1

server-id=62

report-port=3306

port=3306

datadir=/mydata/data

socket=/tmp/mysql.sock

report-host=www.mysql62.com

4、为备节点提供初始数据集

锁定主表,备份主节点上的数据,将其还原至从节点;如果没有启用GTID,在备份时需要在master上使用show master status命令查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。网络技术关键技术有网络结点、宽带网络系统、资源管理和任务调度工具、应用层的可视化工具。网络结点是网络计算资源的提供者,包括高端服务器、集群系统、MPP系统大型存储设备、数据库等。

master节点

mysql

CREATE DATABASE mydb;

mysqldump --all-databases --lock-all-tables --flush-logs --master-data=2 > all.sql

scp all.sql root@192.168.130.6

  2:/tmp

slave节点

mysql < /tmp/all.sql

head -30 /tmp/all.sql

-- CHANGE MASTER TO MASTER_LOG_FILE='log-bin.000016', MASTER_LOG_POS=194;

5、启动从节点的复制线程

如果启用了GTID功能,则使用如下命令:

CHANGE MASTER TO MASTER_HOST='www.mysql61.com', MASTER_USER='repluser', MASTER_PASSWORD='replpass', MASTER_AUTO_POSITION=1;

没启用GTID,需要使用如下命令:

CHANGE MASTER TO MASTER_HOST='192.168.130.61',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='log-bin.000014',MASTER_LOG_POS=154;

master节点

START SLAVE;

SHOW SLAVE STATUS\G;

show processlist;

slave节点

show slave hosts;

mysql < hellodb.sql

MariaDB GTID:

文档中应用MariaDB-10,需要做的修改:

1、不支持的参数:

gtid-mode=on

enforce-gtid-consistency=true

2、修改的参数:

slave-parallel-workers参数修改为slave-parallel-threads

3、连接至主服务使用的命令:

一个新的参数:MASTER_USER_GTID={current_pos|slave_pos|no}

CHANGE MASTER TO master_host="127.0.0.1", master_port=3310, master_user="root", master_use_gtid=current_pos;

李保胜分享

来源:李保胜个人网站(微信/QQ号:476122527),转载请保留出处和链接!

本文链接:http://www.lbsheng.com/index.php/post/345.html

本文标签:李保胜个人网站  

<< 上一篇

  • 评论(2)
  • 相关文章

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
  • 1楼 VPS234 2019-08-21 16:45:57 回复
    负载均衡,数据库一致需要用到的吧
  • 2楼 澳门ktv 2019-08-14 21:37:20 回复
    走走看看,你我相识在这里,欢迎回访!


最近发表

最新留言

友情链接

Copyright © 2009-2019 李保胜博客 版权所有|联系我们 | 关于本站 | 免责声明|友情链接申请|友情链接维护公告|博客大全

  • ( 沪ICP备11020005号 )
  • 地址:中国·上海·上海 邮编:200240 邮箱:lbsheng1988@163.com
  • 您好今天是: 李保胜个人网站已安全运行了:
  • 微信公众号:WEBLBS 站长QQ:476122527 欢迎各位站长加入个人网站交流讨论QQ群:530056449
  • 版权声明:本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时致信告知我站.
  • 禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.如遇版权问题,请及时联系我(QQ:476122527)