mysql5.7基于gtid进行搭建主从复制过程
2024-09-02 16:57:40
gtid_mode = on
enforce-gtid-consistency = on
skip_name_resolve # 去掉域名解析
二进制日志必须开启,且格式为ROW
server-id必须配置成不同的
#################################################################################### # 假设M机器上的mysql实例A ---->> S机器上的mysql实例B,其中M机器的ip为ip1,机器S上的ip为ip2
# 如果在M机器上对mysql实例A进行备份数据,那么就在A机器上创建一个临时的用户来导出数据:
grant all privileges on *.* to 'tmp'@'ip2' identified by 'dtmp' with grant option;
# 备份原主库或原主库的任意一个从库数据,一是普通数据,二是权限数据
备份普通数据:
mysql -hXXX -P3306 -utmp -ptmp -e 'show databases;' | grep -Ev 'Database|information_schema|mysql|performance_schema|sys' | xargs mysqldump -utmp -ptmp -hXXX -P3306 --single-transaction --master-data= --databases > data_backup.sql
备份权限数据:
pt-show-grants -utmp -ptmp -hXXX -P3306 >grant_backup.sql
然后先记录下data_backup.sql文件中类似SET @@GLOBAL.GTID_PURGED='6aadd490-f0b7-11e9-bd17-246e96923e78:1,772c2f87-f0bf-11e9-87a6-246e9698b380:1-44400'这样的数据,然后用“--”将其注释掉;
# 备份B上的data目录
关闭S机器上的mysql实例
cp -r data data_of_install
修改配置文件
启动B上的mysql实例
# 在B实例上创建一个导入数据的用户
grant all privileges on *.* to 'tmp'@'127.0.0.1' identified by 'dtmp' with grant option;
# # 在S机器上的备份文件所在目录下(方便导入数据)登录B实例
mysql -h127.0.0. -P3306 -utmp -ptmp
# 在S机器上登录B实例后就可以导入数据了
source ./data_backup.sql
source ./grant_backup.sql
# 然后在B实例上依次执行如下语句即可
stop slave;
reset slave;
reset master;
SET @@GLOBAL.GTID_PURGED='6aadd490-f0b7-11e9-bd17-246e96923e78:1,772c2f87-f0bf-11e9-87a6-246e9698b380:1-44400'; # 该内容需要根据自己的备份文件中获得
#############
CHANGE MASTER TO MASTER_HOST='主库ip',
MASTER_PORT=主库端口,
MASTER_USER='主库上的复制用户',
MASTER_PASSWORD='主库上的复制用户的密码',
MASTER_AUTO_POSITION=;
# 设置从库只能读,不能写
set global read_only=;
最新文章
- Gitlab完美安装【CentOS6.5安装gitlab-6.9.2】
- 用jxl解析excel内容
- Java Hour4
- Jmeter+Jenkins集成html报告显示问题
- vs2010生成Dll文件并引用dll(C#)
- WPF中的一些常用类型转换
- HTML5学习笔记----html5与传统html区别
- 重新开始学习javase_集合_Set
- 杭电oj 3079 Vowel Counting
- 网站的SEO以及它和站长工具的之间秘密(转)
- jsp设置footer底部内容
- JAVA课设---五子棋
- websocket(二) websocket的简单实现,识别用户属性的群聊
- java 轻量级同步volatile关键字简介与可见性有序性与synchronized区别 多线程中篇(十二)
- 1.使用RNN做MNIST分类
- Python中的实例方法、类方法、静态方法和普通方法
- ES6 箭头函数下的this指向
- C/C++——程序的内存分配
- 4 并发编程-(进程)-守护进程&;互斥锁
- Verilog 位拼接运算符的优先级