MySQL8.0+数据库GTID主从模式搭建

1、准备事项

1.1、完成主从库数据库安装

参见: MySQL数据库8.0+版本部署安装-CSDN博客

部署环境

  • 主库:192.168.179.153:3306
  • 从库:192.168.179.154:3306

1.2、配置文件检查

主从库开启GTID模式

// 主从库均修改,修改从库配置文件,在mysqld下添加如下配置

$ vim /etc/my.cnf

gtid_mode = on

enforce_gtid_consistency = on

1.3、主从库server-id配置

需检查server-id配置,为主从架构中的所有MySQL实例都分别指定一个独特的互不相同的server-id

主从server-id必须不同。

2、主从搭建

2.1、创建主从复制用户

// 主库执行

$ mysql -uroot -p

SQL> create user repl@'%' identified with 'mysql_native_password' by 'repl@123';

SQL> grant replication slave on *.* to 'repl'@'%';

SQL> exit;

​​​​​​​2.2、备份主库数据

// 主库执行,创建备份文件目录

$ mkdir /data/backup

$ cd /data/backup

## 在主库上全库备份,不带gtid

$ /usr/local/mysql/bin/mysqldump -uroot -p -S /data/mysql/mysql3306/tmp/mysql.sock --set-gtid-purged=OFF --all-databases --single-transaction --master-data=2 --triggers --routines --events >Fulldb.sql

备份完成后,将备份文件scp至备库。

​​​​​​​2.3、恢复从库数据

// 从库执行

$ mysql -uroot -p

SQL> reset master;

SQL> exit;

$ time mysql -uroot -p -S /data/mysql/mysql3306/tmp/mysql.sock < Fulldb.sql

恢复过程无报错即可。

​​​​​​​2.4、从库开启同步

// 从库执行

$ mysql -uroot -p

SQL> change master to master_host='192.168.179.153',master_port=3306,master_user='repl',master_password='repl@123',master_auto_position=1;
Query OK, 0 rows affected, 8 warnings (7.38 sec)

SQL> start slave;

​​​​​​​2.5、从库设置只读

SQL> set global super_read_only=1;
SQL> set global read_only=1;
##需同步修改参数文件,避免MySQL重启后参数失效。在配置mysqld下添加如下配置

$ vim /etc/my.cnf

read_only = 1

super_read_only=1

##此配置限制管理员操作备库,看情况设置。备库数据恢复完在设置 ,否则无权限导入

修改完配置文件,需重启主从数据库。

​​​​​​​2.6、检查主从同步状态

// 从库执行

$ mysql -uroot -p

SQL> show slave status\G

需满足以下几点:

  1. Slave_IO_Running、Slave_SQL_Running " YES "
  2. Retrieved_Gtid_Set(从库接收到主库GTID事务) == Executed_Gtid_Set(从库当前执行到的GTID事务)
相关推荐
盟道科技11 分钟前
小程序电商订单超时自动取消的三种实现方案:定时扫描、Redis 过期监听、延迟消息对比与生产落地
数据库·redis·小程序
剑锋所指,所向披靡!17 分钟前
MySQL存储引擎
数据库·mysql
reasonsummer20 分钟前
【办公类-146-05】20260901《一分园、二分园四大教育》(优化版:标题excle+复制AI文字+Python占位符录入)
开发语言·数据库·c#
2301_8009549927 分钟前
关系型数据库与非关系型数据库详解
数据库·nosql
崖边看雾29 分钟前
MySQL——SQL 经典练习题:学生选课成绩查询(附详细注释)
大数据·数据库·sql·mysql
众壹新能源科技29 分钟前
经营口径与运维口径不一致时,发电量报表怎么对账
运维·数据库·人工智能
jyOverQ1 小时前
MySQL 索引为什么能加快查询?B+Tree 到底是什么?
数据库·mysql
天天进步20151 小时前
Pixelle-Video 源码解析 #17:TTS 语音生成:Edge-TTS、Index-TTS 如何接入?
前端·数据库
鸽芷咕1 小时前
异构数据同步,凭什么敢说数据不丢?——拆解金仓KFS的全周期一致性校验
数据库
海浪仙人掌1 小时前
账龄分析的定义是什么?账龄分析有什么作用?
数据库