当前位置: 首页 > news >正文

mysql主备配置(对比postgresql)

mysql主备对比postgresql主备

mysql主流模式是逻辑复制,下面的区别其实就是逻辑和物理复制的区别。

mysql

  • 灵活、生态成熟、跨版本兼容,当前业界CDC与异构同步的事实标准。
  • 一致性较弱,事务粒度同步延迟高。

pgsql

  • 一致性强、延迟低,适合同构环境数据订阅;
  • 灵活性差、生态不完善、对版本和 slot 管理要求高。

mysql8主备配置实例

主库

关键参数

  • log-bin=/data/my/myroot15/mydata1501/mysql-bin
  • server-id=1
  • gtid-mode=ON
  • enforce-gtid-consistency=ON
[mysqld]
basedir=/data/my/myroot15/myhome
datadir=/data/my/myroot15/mydata1501
socket=/data/my/myroot15/mydata1501/mysql.sock
pid-file=/data/my/myroot15/mydata1501/mysql.pid
port=1501
bind-address=0.0.0.0log-error=/data/my/myroot15/mydata1501/mysql.err
log-bin=/data/my/myroot15/mydata1501/mysql-bin
server-id=1
gtid-mode=ON
enforce-gtid-consistency=ONdefault-storage-engine=InnoDB
innodb_buffer_pool_size=256M
innodb_log_file_size=64M
innodb_flush_log_at_trx_commit=1sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
character-set-server=utf8mb4
collation-server=utf8mb4_general_cimax_connections=200
table_open_cache=400
tmp_table_size=64M
max_allowed_packet=64M[client]
port=1501
socket=/data/my/myroot15/mydata1501/mysql.sock
user=root

备库

关键参数

  • relay_log=relay-bin
  • server-id=2
  • read-only=1
  • gtid-mode=ON
  • enforce-gtid-consistency=ON
[mysqld]
basedir=/data/my/myroot15/myhome
datadir=/data/my/myroot15/mydata1502
socket=/data/my/myroot15/mydata1502/mysql.sock
pid-file=/data/my/myroot15/mydata1502/mysql.pid
port=1502
bind-address=0.0.0.0log-error=/data/my/myroot15/mydata1502/mysql.err
relay_log=relay-bin
server-id=2
read-only=1
gtid-mode=ON
enforce-gtid-consistency=ONdefault-storage-engine=InnoDB
innodb_buffer_pool_size=256M
innodb_log_file_size=64M
innodb_flush_log_at_trx_commit=1sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
character-set-server=utf8mb4
collation-server=utf8mb4_general_cimax_connections=200
table_open_cache=400
tmp_table_size=64M
max_allowed_packet=64M[client]
port=1502
socket=/data/my/myroot15/mydata1502/mysql.sock
user=root

常用命令

SHOW MASTER STATUS;
SHOW REPLICA STATUS\G
START REPLICA;-- 跳过当前gtid
set gtid_next='a9b61050-be16-11f0-a2c1-5254001952d8:1'-- 查看复制错误
select * from performance_schema.replication_applier_status_by_worker\G-- 创建复制槽(新)
CHANGE REPLICATION SOURCE TOSOURCE_HOST='127.0.0.1',SOURCE_PORT=1501,SOURCE_USER='root',SOURCE_PASSWORD='',SOURCE_AUTO_POSITION=1;-- 创建复制槽(旧)
CHANGE REPLICATION SOURCE TOSOURCE_HOST='127.0.0.1',SOURCE_USER='root',SOURCE_PASSWORD='',SOURCE_LOG_FILE='mysql-bin.000003',SOURCE_LOG_POS=154;

GTID

旧机制(非 GTID 模式)

传统主从复制是这样工作的:

主库写 binlog:mysql-bin.000003, position=154

从库通过:

CHANGE REPLICATION SOURCE TOSOURCE_LOG_FILE='mysql-bin.000003',SOURCE_LOG_POS=154;

告诉主库:从这个文件的这个位置开始拉取事件。
IO 线程开始从这个偏移点读事件(Event),并写入 relay log。

这种方式的问题是:

一旦主库切换(比如做 failover),新的主库 binlog 文件名和 pos 都不同;你必须重新人工指定从哪里开始同步;如果复制链较复杂,维护成本很高;容易出错(指定错文件或 pos,数据错乱或重复)。

GTID 模式的核心思想

每个事务都有一个全局唯一ID:GTID = server_uuid:transaction_id

例如:
主库A: 3E11FA47-71CA-11E1-9E33-C80AA9429562:100
主库B: 9E88CC47-88BB-44EE-9E33-AB01CC3321FF:27

主库记录:每个事务写入 binlog 时都会带上:
SET @@SESSION.GTID_NEXT=‘3E11FA47-71CA-11E1-9E33-C80AA9429562:100’;

从库执行:从库在执行时会维护一个集合:

Executed_Gtid_Set: a9b61050-be16-11f0-a2c1-5254001952d8:1-4

在这里插入图片描述

从库启动时,会从本地的 mysql.gtid_executed 表加载它执行过的所有 GTID 集;
连上主库后,发送自己的 Executed_Gtid_Set 给主库;
主库计算:要发送的事务 = 主库所有GTID集合 - 从库已执行集合
主库自动只推送缺的那些事务。

具体例子:

事务	主库 GTID	从库执行情况
trx1	UUID:1	已执行
trx2	UUID:2	已执行
trx3	UUID:3	❌ 未执行

当从库重连时,它告诉主库:

I have UUID:1-2

主库比对:

I have UUID:1-3

于是主库只发 UUID:3 对应的事务。无需文件名、无偏移量,直接按逻辑事务集合同步。

所以,GTID后不需要手动指定 binlog 文件和位置。

http://www.dtcms.com/a/597704.html

相关文章:

  • mysql tidb like查询有换行符内容问题解决
  • 【工具变量】上市公司是否获得ZF采购DID(2000-2025年)
  • 【AI学习-comfyUI学习-LCM lora八步生成 工作流-各个部分学习-第八节】
  • 转轮机加密(攻防世界)
  • 微信小程序实现长按复制选中文字的效果
  • SQL Server 驱动 和 TLS 版本不兼容 的问题
  • 【低空安全】低空无人机集群侦测与反制概述
  • 制作网站的原因是计算机网页制作工具
  • 机器学习聚类k均值簇数的调优方法
  • 批量格式化XML与JSON文件小工具
  • TensorFlow深度学习实战(41)——TensorFlow生态系统
  • 网站空格 教程宁波龙山建设有限公司网站
  • 4-ARM-PEG-COOH(2),多功能羧基PEG的结构特性与反应特点
  • 东昌府区网站建设公司铜川网站建设公司电话
  • 大模型如何处理不同格式的文档?
  • GCPC总决赛(牛客)
  • 重庆网站优化指导wordpress esc html
  • Java-168 Neo4j CQL 实战:WHERE、DELETE/DETACH、SET、排序与分页
  • 双算法 SSL 证书技术白皮书:SM2+RSA/ECC 混合加密机制深度解析
  • 找别人做的网站怎样修改html代码颜色
  • FPGA教程系列-Vivado IP核FIFO核
  • 大模型-详解 Vision Transformer (ViT) (3)
  • 酒店网站建设的重要性户外家具技术支持东莞网站建设
  • 4G+5G RF静态射频共享的介绍
  • 怎么网站改版想代理个网站建设平台
  • 贝叶斯共识聚类(BCC)
  • Mybatis操作数据库(入门)
  • 高阅读量博文:抓住“痛点”与“热点”/ 高下载量资源:提供“成品”与“利器”
  • css之flex属性
  • 网站建设时间计划广州高端网站设计公司排名