mysql GTID主从配置
主数据库配置
[mysqld]
server_id=1
gtid_mode=on
enforce_gtid_consistency=on
skip_slave_start=1
log_bin=master-bin.log
log-slave-updates=1
binlog_format=row
从数据库配置
[mysqld]
server_id=17
gtid_mode=on
enforce_gtid_consistency=on
skip_slave_start=1
log_bin=slave-bin.log
log-slave-updates=1
binlog_format=row
主数据库建立复制用户
mysql> CREATE USER 'repl'@'123.57.44.85' IDENTIFIED BY 'repl123';#创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'123.57.44.85';#分配权限
mysql>flush privileges; #刷新权限
查看主库的位置和bin-log文件名
mysql> show master status;
+-------------------------+--------------+--------------------+------------------------------------------+---------------------------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------------+--------------+------------------- +------------------------------------------+---------------------------------------------------------------+
| master-bin.000002 | 4033066 | | mysql,test,information_schema | c70af242-f78b-11e8-bff8-0050569e0666:1-753 |
+-------------------------+--------- ----+--------------------+------------------------------------------+---------------------------------------------------------------+
从库操作
CHANGE MASTER TO MASTER_HOST='123.57.44.85',MASTER_USER='slave',MASTER_PASSWORD='repl123',MASTER_PORT=3306,MASTER_AUTO_POSITION = 1;
启动从库
start slave;
查看slave状态
show slave status;
查看master状态
mysql> show slave hosts;
+-------------+-------+--------+--------------+--------------------------------------------------------+
| Server_id | Host | Port | Master_id | Slave_UUID |
+-------------+-------+--------+--------------+--------------------------------------------------------+
| 17 | | 3306 | 1 | 330032df-f78b-11e8-b0ba-0033578eaa90 |
+-------------+-------+--------+--------------+--------------------------------------------------------+
跳过一个事务
和传统基于位置的主从不同,如果从库报错我们需要获得从库执行的最后一个事务,方法有如下:
- show slave status \G 中的 Executed_Gtid_Set。
- show global variables like '%gtid%'; 中的 gtid_executed 。
- show master status;中的Executed_Gtid_Set。
然后构建一个空事务如下:
stop slave ;set gtid_next='4a6f2a67-5d87-11e6-a6bd-000c29a879a3:34';begin;commit;set gtid_next='automatic';start slave ;
如果是多个如下:
stop slave ;set gtid_next='89dfa8a4-cb13-11e6-b504-000c29a879a3:3';begin;commit;set gtid_next='89dfa8a4-cb13-11e6-b504-000c29a879a3:4';begin;commit;set gtid_next='automatic';start slave ;
mysql GTID主从配置的更多相关文章
- [转帖]mysql数据库主从配置
mysql数据库主从配置 https://www.toutiao.com/i6680489302947791371/ 多做实验 其实挺简单的 很多东西 要提高自信 去折腾. 架构与我 2019-04- ...
- mysql的主从配置以及主主配置
基础环境 系统:linuxmysql版本:5.5主服务器IP:192.168.1.101从服务器IP:192.168.1.102 1.主服务器(master)要打开二进制日志2.从服务器(slave) ...
- Mysql的主从配置
前言:这次学习分布式的思想要配置mysql的主从复制和读写分离,我在主从配置上踩到很多坑,在此演示一遍配置过程,并附上问题的说明和自己的一些见解 Mysql主从复制的原理 附上原理图: mysql的主 ...
- Mysql数据库主从配置
一.为什么要使用数据库主从架构 一个网站损耗资源最厉害的就是数据库,最易崩溃的也是数据库,而数据库崩溃带来的后果是非常严重的.数据库分为读和写操作,在实际的应用中,读操作的损耗远比写操作多太多,因此读 ...
- mysql传统主从配置与主从监控
主从简介 在现代企业中,数据显得尤为重要,而存储数据的数据库选择又五花八门,但无论是何种数据库,均存在着一种隐患. 当数据规模非常大,读写量也很高时,一台数据库已经无法负担全部读写任务,就需要多台数据 ...
- Centos7下mysql的主从配置
最近,有朋友业务并发量比较大,让我帮他配置个主从,来缓解数据库的压力.下面就是我配置的,有需要的朋友可以借鉴下. 首先,我得到2台服务器: 172.18.2.142(主) 172.18.2.141(从 ...
- Mysql Master-slave 主从配置
MySQL主从复制 场景描述:主数据库服务器:192.168.10.130,MySQL已经安装,并且无应用数据.从数据库服务器:192.168.10.131,MySQL已经安装,并且无应用数据. 2. ...
- mysql主从复制 主从配置(windows系统上)
OS:Windows7 DB:MYSQL5.6.2 1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下 ...
- mysql之主从配置实现
我使用的是两台centos7虚拟机来做实验的,主服务器ip为192.168.2.128,从服务器ip为192.168.2.130 安装mysql就不用说了吧,不对,我们需要安装的是mariadb,命令 ...
随机推荐
- 调试CAS源码步骤
1.先安装gradle2.eclipse安装gradle(sts)插件3.克隆cas源码 这一块需要很长时间4.gradle build 会遇到安装node.js 的模块 不存在的问题. 按提示解决就 ...
- Spring+SpringMVC+Mybatis框架整合流程
一:基本步骤 新建Maven项目,导入相关依赖.(推荐) ————–Mybatis配置 —————- 新建entity包,并根据数据库(表)新建相关实体类. 新建dao包,并根据业务创建必要的mapp ...
- 【转载】KETTLE集群搭建
一.集群的原理与优缺点 1.1集群的原理 Kettle集群是由一个主carte服务器和多个从carte服务器组成的,类似于master-slave结构,不同的是’master’处理具体任务,只负责任务 ...
- Python_内置函数2_44
字符串类型代码执行: exec('print(123)') eval('print(123)') print(eval('1*2+3+4')) # 有返回值 print(exec('1+2+3+4') ...
- HDU - 1754 线段树-单点修改+询问区间最大值
这个也是线段树的经验问题,待修改的,动态询问区间的最大值,只需要每次更新的时候,去把利用子节点的信息进行修改即可以. 注意更新的时候区间的选择,需要对区间进行二分. #include<iostr ...
- Python之参数类型、变量
一.参数类型 (一)形参与实参 要使用局部变量时,只能通过return的方式返回 def my(name): #函数体 return name my('lrx') #name是形参,lrx是实参 不写 ...
- Python之加密模块
hashlib模块 加密方式以md5方式加密举例 是标准模块,直接导入即可 还有其他的加密方式,比如:.sha1()..sha224()..sha256()等,加密后的字符串长度更长,安全性更高 一. ...
- python读取文件内的IP信息 练习
代码如下: #导包 import fileinput import re def readArw(): for line in fileinput.input(r"G:/raw.txt&qu ...
- composer 自动加载类 通过psr
项目地址 git@github.com:brady-wang/composer.git "autoload":{ "classmap":[ "Lib ...
- Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决(亲测可行)
在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...