MySQL双主搭建-5.7.35
文章目录
- 上传并安装MySQL 5.7.35
- 双主复制的配置
- 实例一:172.25.0.19:
- 实例二:172.25.0.20:
- 配置复制用户
- 在实例 1 (172.25.0.19)上执行:
- 在实例 2 (172.25.0.20)上执行:
- 配置主从复制
- 查看实例 2 节点状态:
- 在实例 1 上执行:
- 查看实例 1 节点状态:
- 在实例 2 上执行:
- 验证复制状态
- 测试双主复制
- 在 Server A 上操作:
- 在 Server B 上操作:
- 回到 Server A 上操作:
上传并安装MySQL 5.7.35
(172.25.0.19与172.25.0.20均部署安装并启动)
[root@QYWLAQ_VMC4234 ~]# hostnamectlStatic hostname: QYWLAQ_VMC4234Icon name: computer-vmChassis: vmMachine ID: cd3605d12efd430fb723eb507cf5ce3bBoot ID: 00f929e5510944efb40d53ef55d92a49Virtualization: kvmOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-1160.el7.x86_64Architecture: x86-64[root@QYWLAQ_VMC4234 ~]# ll
-rw-r--r-- 1 citc unicom 26658592 12月 25 17:02 mysql-community-client-5.7.35-1.el7.x86_64.rpm
-rw-r--r-- 1 citc unicom 317800 12月 25 17:03 mysql-community-common-5.7.35-1.el7.x86_64.rpm
-rw-r--r-- 1 citc unicom 2473348 12月 25 17:03 mysql-community-libs-5.7.35-1.el7.x86_64.rpm
-rw-r--r-- 1 citc unicom 1263816 12月 26 14:35 mysql-community-libs-compat-5.7.35-1.el7.x86_64.rpm
-rw-r--r-- 1 citc unicom 182213816 12月 25 17:05 mysql-community-server-5.7.35-1.el7.x86_64.rpm# 安装rpm包
[root@QYWLAQ_VMC4234 ~]# yum localinstall -y *.rpm# 启动并设置开启自启
[root@QYWLAQ_VMC4234 ~]# systemctl enable --now mysqld[root@QYWLAQ_VMC4234 citc]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: active (running) since 三 2025-02-26 12:24:03 CST; 4min 26s agoDocs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 8441 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)Process: 8374 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)Main PID: 8444 (mysqld)Tasks: 27Memory: 289.2MCGroup: /system.slice/mysqld.service└─8444 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid2月 26 12:23:57 QYWLAQ_VMC4234 systemd[1]: Starting MySQL Server...
2月 26 12:24:03 QYWLAQ_VMC4234 systemd[1]: Started MySQL Server.# 获取初始密码
[root@QYWLAQ_VMC4234 citc]# sudo grep 'temporary password' /var/log/mysqld.log
2025-02-26T04:23:59.794639Z 1 [Note] A temporary password is generated for root@localhost: IlM3/)Ya6VMH# 登录
[root@QYWLAQ_VMC4234 citc]# mysql -u root -p'IlM3/)Ya6VMH'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.35Copyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '8th3xY]:NA'; -- 修改root密码
Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES; -- 刷新权限以使修改立即生效
Query OK, 0 rows affected (0.01 sec)
双主复制的配置
实例一:172.25.0.19:
# 此配置文件中追加下述配置
[root@QYWLAQ_VMC4234 ~]# vi /etc/my.cnf[mysqld]
# 基本配置
server-id = 1 # 每个实例的 server-id 必须唯一
log_bin = /var/log/mysql/mysql-bin.log # 启用二进制日志
binlog_format = ROW # 推荐使用 ROW 格式
expire_logs_days = 7 # 自动清理 7 天前的日志
max_binlog_size = 100M # 每个二进制日志文件的最大大小# 双主复制配置
log_slave_updates = 1 # 从库记录二进制日志(必须启用)
auto_increment_increment = 2 # 自增步长
auto_increment_offset = 1 # 自增起始值(实例 1 为 1,实例 2 为 2)# 复制过滤(可选)
replicate-do-db = my_database # 只复制指定的数据库
replicate-ignore-db = mysql # 忽略系统库# 其他配置
bind-address = 0.0.0.0 # 允许远程连接
重启MySQL
[root@QYWLAQ_VMC4234 ~]# systemctl restart mysqld
实例二:172.25.0.20:
# 此配置文件中追加下述配置
[root@QYWLAQ_VMC1091 ~]# vi /etc/my.cnf[mysqld]
# 基本配置
server-id = 2 # 每个实例的 server-id 必须唯一
log_bin = /var/log/mysql/mysql-bin.log # 启用二进制日志
binlog_format = ROW # 推荐使用 ROW 格式
expire_logs_days = 7 # 自动清理 7 天前的日志
max_binlog_size = 100M # 每个二进制日志文件的最大大小# 双主复制配置
log_slave_updates = 1 # 从库记录二进制日志(必须启用)
auto_increment_increment = 2 # 自增步长
auto_increment_offset = 2 # 自增起始值(实例 1 为 1,实例 2 为 2)# 复制过滤(可选)
replicate-do-db = my_database # 只复制指定的数据库
replicate-ignore-db = mysql # 忽略系统库# 其他配置
bind-address = 0.0.0.0 # 允许远程连接
重启MySQL
[root@QYWLAQ_VMC1091 ~]# systemctl restart mysqld
配置复制用户
在每个 MySQL 实例上创建一个用于复制的用户。
在实例 1 (172.25.0.19)上执行:
mysql> CREATE USER 'replication'@'172.25.0.20' IDENTIFIED BY '@2X0wZY/rq';
Query OK, 0 rows affected (0.01 sec)mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'172.25.0.20';
Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
查询用户
mysql> SELECT User, Host FROM mysql.user;
+---------------+-------------+
| User | Host |
+---------------+-------------+
| replication | 172.25.0.20 |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-------------+
4 rows in set (0.00 sec)
在实例 2 (172.25.0.20)上执行:
mysql> CREATE USER 'replication'@'172.25.0.19' IDENTIFIED BY '@2X0wZY/rq';
Query OK, 0 rows affected (0.00 sec)mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'172.25.0.19';
Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
查询用户
mysql> SELECT User, Host FROM mysql.user;
+---------------+-------------+
| User | Host |
+---------------+-------------+
| replication | 172.25.0.19 |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+---------------+-------------+
4 rows in set (0.00 sec)
配置主从复制
在每个实例上配置对方为主库。
查看实例 2 节点状态:
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 964 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
在实例 1 上执行:
CHANGE MASTER TOMASTER_HOST='172.25.0.20',MASTER_USER='replication',MASTER_PASSWORD='@2X0wZY/rq',MASTER_LOG_FILE='mysql-bin.000002', -- 替换为实例 2 的当前 binlog 文件MASTER_LOG_POS=1784; -- 替换为实例 2 的当前 binlog 位置
START SLAVE;
查看实例 1 节点状态:
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 964 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
在实例 2 上执行:
CHANGE MASTER TOMASTER_HOST='172.25.0.19',MASTER_USER='replication',MASTER_PASSWORD='@2X0wZY/rq',MASTER_LOG_FILE='mysql-bin.000002', -- 替换为实例 1 的当前 binlog 文件MASTER_LOG_POS=1784; -- 替换为实例 1 的当前 binlog 位置
START SLAVE;
验证复制状态
在每个实例上执行以下命令,检查复制状态:
SHOW SLAVE STATUS\G;
确保以下字段的值为 Yes:
Slave_IO_RunningSlave_SQL_Running
测试双主复制
在 Server A 上操作:
创建测试数据库和表:
CREATE DATABASE test_db;
USE test_db;
CREATE TABLE test_table (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50)
) ENGINE=InnoDB;
插入数据:
INSERT INTO test_table (name) VALUES ('Server A Data');
在 Server B 上操作:
检查数据是否同步:
USE test_db;
SELECT * FROM test_table;
应该能看到 Server A Data。
插入数据:
INSERT INTO test_table (name) VALUES ('Server B Data');
回到 Server A 上操作:
检查数据是否同步:
USE test_db;
SELECT * FROM test_table;
table (name) VALUES (‘Server A Data’);
### 在 Server B 上操作:**检查数据是否同步**:
USE test_db;
SELECT * FROM test_table;
应该能看到 `Server A Data`。**插入数据**:
INSERT INTO test_table (name) VALUES (‘Server B Data’);
### 回到 Server A 上操作:**检查数据是否同步**:
USE test_db;
SELECT * FROM test_table;
应该能看到 `Server B Data`。
相关文章:
MySQL双主搭建-5.7.35
文章目录 上传并安装MySQL 5.7.35双主复制的配置实例一:172.25.0.19:实例二:172.25.0.20: 配置复制用户在实例 1 (172.25.0.19)上执行:在实例 2 (172.25.0.20)上执行&…...
Uniapp开发微信小程序插件的一些心得
一、uniapp 开发微信小程序框架搭建 1. 通过 vue-cli 创建 uni-ap // nodejs使用18以上的版本 nvm use 18.14.1 // 安装vue-cli npm install -g vue/cli4 // 选择默认模版 vue create -p dcloudio/uni-preset-vue plugindemo // 运行 uniapp2wxpack-cli npx uniapp2wxpack --…...
Vscode通过Roo Cline接入Deepseek
文章目录 背景第一步、安装插件第二步、申请API key第三步、Vscode中配置第四步、Deepseek对话 背景 在前期介绍【IDEA通过Contince接入Deepseek】步骤和流程,那如何在vscode编译器中使用deepseek,记录下来,方便备查。 第一步、安装插件 在…...
不同规模企业如何精准选择AI工具: DeepSeek、Grok 和 ChatGPT 三款主流 AI 工具深度剖析与对比
本文深入探讨了最近国内外主流的 DeepSeek、Grok 和 ChatGPT 三款主流 AI 工具的技术细节、性能表现、应用场景及局限性,并从技术能力、功能需求、成本预算、数据安全和合规以及服务与支持五个关键维度,详细分析了不同规模企业在选择 AI 工具时的考量因素…...
如何有效判断与排查Java GC问题
目录 一、GC的重要性与对性能的影响 (一)GC对性能的影响简要分析 1.GC暂停与应用停顿 2.GC吞吐量与资源利用率 3.GC对内存管理的作用:资源回收 4.GC策略与优化的选择 (二)GC的双刃剑 二、GC性能评价标准 &…...
【笔记】用大预言模型构建专家系统
最近闲庭漫步,赏一赏各个AI大语言模型芳容。也趁着时间,把倪海夏一家的天纪和人纪视频看完了,感谢倪先生和现在网络的知识分享,受益匪浅。但是发现看完,很多不错的知识都不能记录在脑子里,那用的时候岂不是…...
Android SystemUI深度定制实战:下拉状态栏集成响铃功能开关全解析
一、功能实现全景视图 目标场景:在Android 14系统级ROM定制中,为SystemUI下拉状态栏的QuickQSPanel区域新增响铃模式切换开关,实现静音/响铃快速切换功能。该功能需通过三层关键改造实现: 二、核心实现三部曲 1. 配置注入&…...
【Python】基础语法三
> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解Python的函数、列表和数组。 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! > 专栏选自ÿ…...
[Computer Vision]实验六:视差估计
目录 一、实验内容 二、实验过程 2.1.1 test.py文件 2.1.2 test.py文件结果与分析 2.2.1 文件代码 2.2.2 结果与分析 一、实验内容 给定左右相机图片,估算图片的视差/深度;体现极线校正(例如打印前后极线对)、同名点匹配…...
【 开发知识点 一 】 随机数生成器 /dev/urandom 和 /dev/random
文章目录 一、随机数生成器 是什么 ?二、为什么 需要 随机数生成器 ?三、随机数生成器 基本原理四、随机数生成器 三个输出接口五、随机生成器 应用1、简单应用2、项目应用一、随机数生成器 是什么 ? /dev/random 和 /dev/urandom 是 Linux 上的字符设备文件,它们是随机数…...
LabVIEW虚拟弗兰克赫兹实验仪
随着信息技术的飞速发展,虚拟仿真技术已经成为教学和研究中不可或缺的工具。开发了一种基于LabVIEW平台开发的虚拟弗兰克赫兹实验仪,该系统不仅能模拟实验操作,还能实时绘制数据图形,极大地丰富了物理实验的教学内容和方式。 …...
LLC谐振变换器恒压恒流双竞争闭环simulink仿真
1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系代为转换)针对全桥LLC拓扑,利用Matlab软件搭建模型,分别对轻载…...
TVbox蜂蜜影视:智能电视观影新选择,简洁界面与强大功能兼具
蜂蜜影视是一款基于猫影视开源项目 CatVodTVJarLoader 开发的智能电视软件,专为追求简洁与高效观影体验的用户设计。该软件从零开始编写,界面清爽,操作流畅,特别适合在智能电视上使用。其最大的亮点在于能够自动跳过失效的播放地址…...
Python 绘制迷宫游戏,自带最优解路线
1、需要安装pygame 2、上下左右移动,空格实现物体所在位置到终点的路线,会有虚线绘制。 import pygame import random import math# 迷宫单元格类 class Cell:def __init__(self, x, y):self.x xself.y yself.walls {top: True, right: True, botto…...
vue3学习-1(基础)
vue3学习-1(基础) 1. 开始API 风格选项式 API (Options API)组合式 API (Composition API) 快速创建个应用 2.基础1. 创建个应用2.模板语法3.响应式基础reactive() 的局限性[](https://cn.vuejs.org/guide/essentials/reactivity-fundamentals.html#limi…...
deepseek使用记录18——文化基因之文化融合
文明长河中的生命浪花 在洛阳白马寺的银杏树下,年轻母亲指着"农禅并重"碑刻给孩子讲述祖辈耕作的故事;在哔哩哔哩的直播间里,00后女孩穿着汉服跳起街舞,弹幕飘过"这才是文化缝合怪"。当文明交融的宏大叙事照…...
Hadoop简介
1. Hadoop简介 官网:http://hadoop.apache.org 1.1 Hadoop架构 Hadoop由三个模块组成:分布式存储HDFS、分布式计算MapReduce、资源调度引擎YARN 1.2 Hadoop历史 Hadoop作者Doug Cutting Apache Lucene是一个文本搜索系统库 Apache Nutch作为前者的一部…...
密码学(哈希函数)
4.1 Hash函数与数据完整性 数据完整性: 检测传输消息(加密或未加密)的修改。 密码学Hash函数: 构建某些数据的简短“指纹”;如果数据被篡改,则该指纹(以高概率)不再有效。Hash函数…...
谈谈单例模式中通过Htools包的SpringUtil.getBean获取Bean的好处
目录 优势 解决依赖注入失效问题: 典型应用场景: 好处 1. 实例化时序问题 2. 延迟获取解决空指针 3. 设计模式与 Spring 的权衡 代码对比:错误 vs 正确 错误示例(空指针): 正确实现(延…...
本地部署大语言模型-DeepSeek
DeepSeek 是国内顶尖 AI 团队「深度求索」开发的多模态大模型,具备数学推理、代码生成等深度能力,堪称"AI界的六边形战士"。 Hostease AMD 9950X/96G/3.84T NVMe/1G/5IP/RTX4090 GPU服务器提供多种计费模式。 DeepSeek-R1-32B配置 配置项 规…...
怎样快速去掉照片背景?2026年AI抠图工具实测对比与使用指南
还在为复杂的照片背景发愁?想要快速批量处理多张照片?本文将带你深入了解2026年最新的照片去背景方法,从零基础的在线工具到专业级别的桌面软件,再到智能AI抠图方案,帮你找到最适合自己的解决方案。快速去背景的核心方…...
AArch64架构SMCR_EL3寄存器详解与SME向量计算优化
1. AArch64系统寄存器与SMCR_EL3概述在Armv8-A/v9架构中,系统寄存器是处理器状态和功能控制的核心枢纽。作为特权级软件与硬件交互的接口,每个系统寄存器都承担着特定的控制、配置或状态监控职责。SMCR_EL3(SME Control Register at EL3&…...
2026年AI论文写作工具实测排行,哪款真正适合写论文?
2026 年学术 AI 论文工具已形成全流程、理工 / 社科、英文 / 中文、免费 / 付费的清晰分化。综合实测排行与场景适配,千笔AI 是中文全能首选,DeepSeek 学术版是理工开源首选,毕业之家是国内毕业专属首选。 一、2026 年实测排行 TOP5ÿ…...
3分钟掌握加密压缩包密码破解:ArchivePasswordTestTool终极实战指南
3分钟掌握加密压缩包密码破解:ArchivePasswordTestTool终极实战指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 你是否曾经…...
通过 curl 命令快速测试 Taotoken 各大模型接口连通性
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过 curl 命令快速测试 Taotoken 各大模型接口连通性 在接入大模型服务时,直接使用 curl 命令进行接口测试是一种高效…...
从 Dify 配置页理解 RAG 的重要参数
RAG(Retrieval-Augmented Generation,检索增强生成)经常被一句话概括成“先检索,再回答”。这句话没有错,但如果真的要把一个知识库调到可用,仅仅理解这四个字还不够。真正影响答案质量的,往往是…...
中兴光猫工厂模式解锁工具:3分钟获得完全控制权
中兴光猫工厂模式解锁工具:3分钟获得完全控制权 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 你是否曾因中兴光猫的限制而无法进行高级配置?想要深度管理设备…...
Marshall新款Milton ANC头戴式耳机来袭:音质续航皆优,售价229美元!
Marshall推出新款Milton ANC头戴式耳机Marshall推出了最新款头戴式耳机——Milton ANC。这款耳机在音质、耐用性和电池续航方面都毫不妥协,售价为229美元。耳机特点与升级Marshall宣布推出全新的头戴式耳机Milton ANC。它承诺在不牺牲电池续航的前提下,带…...
从游戏主机到云端:如何用Sunshine打造你的私人游戏串流服务器
从游戏主机到云端:如何用Sunshine打造你的私人游戏串流服务器 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否曾经想过,在客厅的电视上玩电脑游戏&am…...
MoE大模型核心揭秘:Router路由机制与活跃参数原理
1. 这不是“参数越多越强”的简单故事:拆解大模型里那个被悄悄藏起来的“开关”你肯定见过这类标题:“GPT-4参数量达1.8万亿!”、“DeepSeek-R1狂堆6710亿参数!”——光看数字,像在比谁家粮仓更大。但真正干过模型部署…...
