mysql 基于gtid ssl 主从复制(半同步)

2023-11-11

主库:

1.生成证书(根据实际的mysql安装路径)
/data/db/mysql-5.7.26/bin/mysql_ssl_rsa_setup -d /data/conf/mysqldb/
2.修改权限
cd /data/conf/mysqldb && chown mysql.mysql ./*
3.修改配置文件/data/conf/mysqldb/my.cnf ,添加证书
ssl-ca=/data/conf/mysqldb/ca.pem
ssl-cert=/data/conf/mysqldb/server-cert.pem
ssl-key=/data/conf/mysqldb/server-key.pem
重启数据库,连接

添加主从同步用户
grant replication slave on . to ‘repl’@‘从库’ identified by ‘密码’ require ssl;
修改my.cnf
添加以下参数或者去掉注释
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
rpl_semi_sync_slave_enabled=1
安装以下插件后重启数据库:
install plugin rpl_semi_sync_master soname ‘semisync_master.so’;
install plugin rpl_semi_sync_slave soname ‘semisync_slave.so’;

拷贝证书文件到从库

cd /data/conf/mysqldb/
scp ca.pem 从库:/data/conf/mysqldb
scp client-* 从库:/data/conf/mysqldb

从库

修改 my.cnf
添加以下参数或者去掉注释
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout=1000
rpl_semi_sync_slave_enabled=1
ssl-ca=/data/conf/mysqldb/ca.pem
ssl-cert=/data/conf/mysqldb/client-cert.pem
ssl-key=/data/conf/mysqldb/client-key.pem
安装以下插件后重启数据库:
install plugin rpl_semi_sync_master soname ‘semisync_master.so’;
install plugin rpl_semi_sync_slave soname ‘semisync_slave.so’;

配置同步

change master to master_host=‘主库’,master_port=3306,master_user=‘repl’,master_password=‘密码’,master_auto_position=1,master_ssl=1,master_ssl_ca=‘/data/conf/mysqldb/ca.pem’,master_ssl_cert=‘/data/conf/mysqldb/client-cert.pem’,master_ssl_key=‘/data/conf/mysqldb/client-key.pem’;

开启同步
start slave;
查看状态
show slave status\G

【开发云】年年都是折扣价,不用四处薅羊毛 https://dev.csdn.net/activity?utm_source=sale_source&sale_source=DqVmyW2Teo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 基于gtid ssl 主从复制(半同步) 的相关文章

  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • MySql - 复制监控工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个主 从 MySql 复制 我正在寻找一个允许我监视复制的工具 查看它没有错误 检查滞后等 我更喜
  • 仅当值发生更改时如何插入数据库?

    我需要更新 替换 MySQL 数据库中的字段 但前提是它们已更改 该表包含 ID 文本字段和更改日期 用户根据更改日期通过 ID 查询数据 即 如果该日期早于用户上次查询数据的时间 则他不想要它 仅当文本字段与具有相同 ID 的现有文本字段
  • 海量记录的bulk_create最佳实践

    I use bulk create将 1 mio 记录插入到新表中 需要 80 秒 Django 只使用一个 CPU 核心 大约 25 CPU 但没有一个核心达到 100 我相信有改进的潜力 这是代码 class Stock models
  • 如何在mysql中选择具有相同值集的列?

    我的桌子是 patients pid name city disease did dname has disease did pid 我想列出具有相同疾病组的患者 pid 和 did 分别是患者和疾病表中的主键 并且是 has diseas
  • 如果没有找到值,如何让 MySQL 中的 SUM 函数返回“0”?

    假设我在 MySQL 中有一个简单的函数 SELECT SUM Column 1 FROM Table WHERE Column 2 Test 如果没有条目Column 2 包含文本 Test 然后该函数返回NULL 而我希望它返回 0 我
  • 如何优化这个MySQL慢(非常慢)查询?

    我有一个 2 GB 的 mysql 表 包含 500k 行 我在没有负载的系统上运行以下查询 select from mytable where name in n1 n2 n3 n4 bunch more order by salary
  • Google Cloud SQL 在重新启动时卡住

    我的云 sql 实例长时间处于重新启动状态 在操作窗格中 重新启动的状态显示为待处理 并且还发生了导出 其状态仍为Running 有没有办法可以强制重新启动或取消重新启动或从常规备份中恢复数据 不 没有办法 如果您向 Google 支付高级
  • 如果 Row1 = 值 1,则更新其他行

    我有一个小的 php 脚本 用于访问 mySql 数据库 我想在数据库中插入新记录之前查看该数字 值 1 是否等于数据库中的记录 这也在第 1 行 所以我想 查看传入的电话号码是否等于数据库中的电话号码 如果是这样 则必须保持电话号码相同的
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • 非常大的字段会对 MySQL 数据库产生负面影响吗?

    我目前正在使用 Django 构建一个网站 并希望托管用户生物样式页面 该页面可能长达几 KB 这些字段不一定需要搜索 但在查找用户名时确实需要提供 将这些数据存储在数据库中会产生负面影响吗 如果我使用带有数据库链接的静态文本文件 我的服务
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • 在 SQL 中,如何从 SELECT * FROM ... 中排除结果?

    我知道我的标题不太具有描述性 让我在这里详细解释一下 假设一个表有 26 个字段 例如字段 a 字段 z 我只想要一个选择查询只返回 15 个字段 所以 通常 我会执行 SELECT field a field b field o FROM
  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • Mysql插入表后不显示右单引号(’)

    我有一个名为 测试 的表 我插入了一行 其中包含unicode字符右单引号 0x2019在名称字段中 SQL insert into Testing values Sno Name Address insert into Testing v
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同

随机推荐

  • EDK II Module Writers Guide上

    一 EDK2简介 1 EDK2工作流 二 EDK2 Packages 1 Packages介绍 EDK2 Packages是一个容器 其中包含一组模块及模块的相关定义 每个Package是一个EDK2单元 整个Project的源代码可以被分
  • Android正确的保活方案,不要掉进保活需求死循环陷进

    在开始前 还是给大家简单介绍一下 以前出现过的一些黑科技 大概在6年前Github中出现过一个叫MarsDaemon 这个库通过双进程守护的方式实现保活 一时间风头无两 好景不长 进入 Android 8 0时代之后 这个库就废掉了 最近2
  • 简单工厂模式和策略模式的比较

    代码结构图的区别 首先来看一下简单工厂模式 再看一下策略模式 看完他们的结构图 是不是有种很相似的感觉 唯一不同的就是 简单工厂类 和 Context类 接下来再看一下代码上有什么区别 简单工厂类和Context类中代码的区别 简单工厂类
  • linux查看mysql是否安装了驱动,Linux下查看mysql、apache是否安装,安装,卸载等操做...

    Linux下查看mysql apache是否安装 并卸载 php 指令 ps ef grep mysql 得出结果node root 17659 1 0 2011 00 00 00 bin sh usr bin mysqld safe da
  • Python一些经典例题(2)

    随机生成密码 编写程序 在26个字母大小写和9个数字组成的列表中随机生成10个8位密码 import random n 8 k 10 l list range 0 10 for x in range 65 91 l append chr x
  • DisplayPort1.4协议学习(一)DP协议概览

    DisplayPort1 4协议学习 一 DP协议概览 Note 本文为DP1 4协议学习系列的第一篇 本篇首先从DP整体结构上简要说明DP协议的传输方式 有关传输速率对比的问题 请STFW Search The Fucking Web D
  • 多态,反射及其相关

    多态是OOP的三大特征之一 字面意思 多种形态 多种状态 一个事物具备多种形态 例如 水 具备水蒸气 冰 赛博坦星人 汽车人 飞机人 汽车 动物 人 猿猴 猫 吃 叫 睡 官方描述 不同对象可以响应 调用 同一个方法 产生不同的结果 多态不
  • 用c++写一个windows窗口程序, 程序标题是你好

    include
  • Hibernate (一)

    文章目录 一 配置Hibernate 1 先创建数据库表 2 创建一个hibernate工程 3 导入hibernate所依赖的jar包 4 创建实体 product 5 配置 Product hbm xml 6 配置 hibernate
  • 工程师事业的思考(分享一些好的面试题)

    题记 最近去参加了一场技术交流会 小圈子内的技术交流 有来自大厂的一些高层工程师 做技术嘛 这条路其实是木有尽头的 说到底还是得要基础好哇 我目前是在做区块链行业 做数字货币交易所 然后很多朋友就是觉得非常不理解了嘛 就像李笑来说的那样 可
  • python程序员,编写远程监控程序,用微信监控女友都在做些什么?

    好奇心跟疑心 很多人都有好奇心或者疑心 有人说中国人最大的特点就是围观 你的女男朋友现在在做什么 有没有做什么对不起自己的事情 在跟谁聊天 是不是好奇想知道 python程序员 编写远程监控程序 用微信监控女友都在做些什么 用python写
  • Vue--插槽 vs 高复用组件

    为什么要用插槽 组件的最大特性就是提高复用性 而插槽的作用是最大程度的优化组件的可复用能力 组件的复用常见场景如多个页面有同样的UI结构 通过组件间通讯机制传递数据 以此达到同一套代码渲染不同数据的效果 然而 这种利用组件间通讯机制只能满足
  • 单机Qps上限是多少?

    现在这个年代 你要是不懂高并发 你都不好意思说自己是搞互联网的 一 什么是并发 什么是高并发 并发 两个及以上的行为一起发生 比如你一边吃饭一边看电视 高并发 多个行为 至于是多少 这个没有定数 你可以认为是100 1000 一起发生 二
  • Spring Boot 中的 @Id 注解是什么,原理,如何使用

    Spring Boot 中的 Id 注解是什么 原理 如何使用 在 Spring Boot 中 Id 注解是一个非常重要的注解 它用于映射实体类中的主键字段 本文将介绍 Id 注解的作用 原理和使用方法 1 Id 注解的作用 在 Sprin
  • 全国计算机考试三级Linux应用与开发技术考试大纲

    基本要求 掌握操作系统的基本概念 组成 功能和原理 了解 Linux系统的发展历程 特点 应用现状和前景 掌握常用的Linux命令和Shell脚本编程基本技术 具备Linux系统安装 配置 管理与维护的基本技能 熟悉Linux系统的常用软件
  • 关系代数之连接 (Join)和除(Division)

    关系代数之连接 Join 和除 Division 数据库技术中这两个概念 对初学者而言 理解比较困难 本文对此进行深入浅出的解释 连接 Join 联接 定义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组 记作 其中A和B分别为R和S上
  • Illumina输出文件详解

    Illumina输出文件详解 Illumina测序原理 next seq 550 基本过程 基本概念 BCL文件 Base Call Files BCI文件 Base Call Index Files BGZF文件 Block GNU ZI
  • C++泛型函数及模版类

    什么是泛型编程 简单来说 泛型编程 意思就是针对广泛类型的编程方式 具体类型可以有不同的实现方式 但是针对广泛类型编程 就能在需要调用时才指定参数类型或者调用类型 泛型编程是一种基于发现高效算法的最抽象表示的编程方法 也就是说 以算法为起点
  • youtube-dl下载速度慢解决方法

    Python版本 3 10 运行环境 Windows10 问题描述 在使用youtube dl下载视频时网速很慢 并一直限制在某个速度上 如下 解决办法 进入windows 安全中心 病毒和威胁防护 管理设置 点击添加或删除排除项 添加排除
  • mysql 基于gtid ssl 主从复制(半同步)

    主库 1 生成证书 根据实际的mysql安装路径 data db mysql 5 7 26 bin mysql ssl rsa setup d data conf mysqldb 2 修改权限 cd data conf mysqldb ch