mysql主从配置(保姆级) - 指南

news/2025/10/31 18:12:18/文章来源:https://www.cnblogs.com/yangykaifa/p/19180906

mysql主从配置,分别介绍基于binlog的主从复制跟基于GTID的主从复制

只有干货,照着做就能实现,理论自己去补(抱拳了)。
环境介绍:
OS:centos7
MySQL:5.7.24
mysql多实例,3307作为Master(主库),3308作为Slave(从库)
关于mysql多实例参考前面文章【MySQL多实例管理】

https://blog.csdn.net/weixin_43535689/article/details/152078546?spm=1001.2014.3001.5501

主从复制介绍

(1)主从复制基于binlog来实现
(2)主库发生新的操作,都会记录binlog
(3)从库取得主库的binlog进行回放
(4)主从复杂的过程是异步的

主从复制的前提(搭建主从复制)

(1)2个或以上的数据库实例
(2)主库需要开启二进制日志
(3)server_id要不用,区分不同的节点
(4)主库需要建立专用的复制用户(replication slave)
(5)从库应该通过备份主库,恢复的方法进行“数据追平”
(6)人为告诉从库一些复制信息(IP port passwd ,二进制起点)
(7)从库应该开启专门的复制进程

一、主从复制搭建过程(生产环境)

  1. 环境准备
    MySQL多实例 3307:主 3308:从
    删除3307、3308下面的数据,做清空准备
[root@oracle ~]# rm -rf /data/3307/data/*
[root@oracle ~]# rm -rf /data/3307/mysql-bin.
  1. 初始化从库:3307
mysqld --initialize-insecure --user=mysql --basedir=/application/mysql  --datadir=/data/3307/data
  1. 启动3307
[root@oracle system]# systemctl start  mysqld3307.service

3308操作同3307,此时3307、3308环境都是最初的

  1. 模拟生产环境,在主库模拟建库建表,新增数据
    3307操作:
create database  a charset utf8mb4;
use a
create table a(id int ,name varchar(10));
insert into a values(1,'a'),(2,'b');
commmit;
  1. 检查配置文件

    (1)主库:二进制日志是否开启
    (2)server_id是否不同
    (3)额外的,这里主从都开启GTID,一起都讲了具体配置参数

gtid_mode=ON
enforce_gtid_consistency=ON
[root@oracle ~]# cat /data/3307/my.cnf 
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
port=3307
gtid_mode=ON
enforce_gtid_consistency=ON
autocommit=0
server_id=7
log_bin=/data/3307/mysql-bin
binlog_format=row
slow_query_log = 1
slow_query_log_file = /data/3307/data/slow.log
long_query_time = 0.1
log_queries_not_using_indexes = 1
  1. 主库创建复制用户

3307操作

mysql -S /data/3307/mysql.sock    -e "grant replication slave on  \*.*  to repl@'%'  identified by '2544' "
  1. 从库数据追平

主库执行

mysqldump  -S  /data/3307/mysql.sock -A --master-data=2 --single-transaction -R -E --triggers > /backup/full.sql

从库执行

mysql  -S /data/3308/mysql.sock
mysql> set sql_log_bin=0;
mysql> source /backup/full.sql;
mysql> commit;
mysql>  set sql_log_bin=1;

二、 基于binlog的主从复制

  1. 告诉从库信息
    从库执行
mysql  -S /data/3308/mysql.sock
mysql> help change master to

返回信息:

CHANGE MASTER TO
MASTER_HOST='master2.example.com',
MASTER_USER='replication',
MASTER_PASSWORD='password',
MASTER_PORT=3306,
MASTER_LOG_FILE='master2-bin.001',
MASTER_LOG_POS=4,
MASTER_CONNECT_RETRY=10;

根据这部分信息,改为实际主库信息,配置主从同步(基于binlog)
这里的
MASTER_LOG_FILE='master2-bin.001', MASTER_LOG_POS=4 两个参数值查看前面步骤备份文件full.sql

vim  /backup/full.sql

在30行左右,找到

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000010', MASTER_LOG_POS=1035;

在这里插入图片描述
所以这两个参数的值为

MASTER_LOG_FILE='mysql-bin.000010',
MASTER_LOG_POS=1035

修改后的实际配置:(从库执行)

mysql>CHANGE MASTER TO
MASTER_HOST='10.0.0.60',
MASTER_USER='repl',
MASTER_PASSWORD='2544',
MASTER_PORT=3307,
MASTER_LOG_FILE='mysql-bin.000010',
MASTER_LOG_POS=1035,
MASTER_CONNECT_RETRY=10;
  1. 启动从库复制进程
    从库执行
mysql> start slave;
  1. 检查复制状态
mysql> show slave status\G;

返回值中主要查看

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

均为Yes则配置成功,可以在主库进行数据相关操作,查看从库变化。

三、基于GTID的主从复制

  1. 停止从库复制进程从库执行
mysql>STOP SLAVE;
  1. 重置从库的主库信息(清除旧配置)
mysql>RESET SLAVE ALL;
  1. 配置基于GTID的主库信息
    【参考】
    – 重新配置主库连接(使用GTID模式)
CHANGE MASTER TO
MASTER_HOST='主库IP',
MASTER_USER='复制账号',
MASTER_PASSWORD='复制密码',
MASTER_PORT=3306,
MASTER_AUTO_POSITION = 1;  -- 关键:启用GTID自动定位同步位置

根据这个修改实际的参数

mysql>CHANGE MASTER TO
MASTER_HOST='10.0.0.60',
MASTER_USER='repl',
MASTER_PASSWORD='2544',
MASTER_PORT=3307,
MASTER_AUTO_POSITION = 1;
  1. 启动从库复制进程:
    从库执行
mysql> start slave;
  1. 检查复制状态
mysql> show slave status\G;

返回值中主要查看`

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

均为Yes则配置成功,可以在主库进行数据相关操作,查看从库变化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/952093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

打开浏览器

1、打开浏览器,然后在cmd中输入adb shell dumpsys activity | findstr "mResumedActivity" 命令 根据输出内容得到浏览器包名为 com.huawei.browser 2、代码上连接上手机并打开浏览器 from airtest.core.ap…

印度实时股票数据源接口对接文档-IPO新股、k线数据

概述 StockTV 提供全面的印度股票市场数据接口,覆盖印度国家证券交易所(NSE)和孟买证券交易所(BSE)所有上市公司。支持实时行情、技术分析、公司信息、IPO数据等多种功能。 基础信息基础URL: https://api.stocktv…

尝试从源头理解 SVD 原理和计算

SVD 是怎么被“想出来”的?——从一个朴素问题出发 你有没有见过这样的公式? \[M = U \Sigma V^T \]看起来挺简洁,对吧?但当你翻开教材,发现这背后藏着一堆正交矩阵、奇异值、特征向量……瞬间头大。 我每次看到 …

2025年家用电梯厂家推荐榜:美利达电梯实力登顶

随着人口老龄化加剧、别墅及老旧小区加装电梯需求增长,家用电梯市场正迎来快速发展期。2025年家用电梯市场规模预计持续扩大,但市场增长也带来厂商技术实力、产品安全性、服务质量参差不齐的问题,家庭用户在选购时往…

流程定时任务设置参数

总结几点内容:windows命令行或者放在task schedule里执行的bat(批处理文件),应该以ANSI编码的方式进行保存。 如果bat文件里不含任务中文,则可以以UTF-8的编码格式保存,但不能带BOM。windows的命令行执行批处理文件…

activemqCVE-2016-3088漏洞复现

activemq/CVE-2016-3088漏洞复现 原理 影响版本:Apache ActiveMQ 5.x~5.14.0 漏洞原理:ActiveMQ的web控制台分三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;a…

FortiGuard实验室互联网服务安全技术解析

本文详细介绍了FortiGuard实验室的互联网安全服务体系,涵盖威胁检测、防护响应、安全运维等核心技术模块,包含恶意软件防护、入侵防御、云安全等具体技术方案,以及产品集成与版本更新机制。研究服务 研究研究新兴网…

神舟二十一号|2030年前实现中国人登陆月球的目标不动摇

10月30日,神舟二十一号载人飞行任务新闻发布会在酒泉卫星发射中心举行。 中国载人航天工程新闻发言人、中国载人航天工程办公室综合计划局局长张静波表示,2030年前实现中国人登陆月球的目标不动摇。目前,载人登月任…

博客园打印 - miao

F12 + (function(){use strict;$("#comment_form, #header, #leftmenu, #big_banner, #footer, #blog_post_info_block").remove();$("#content").css(margin,0);$("body").css(margin,…

简单线段树

#include <bits/stdc++.h> using namespace std; using ull = unsigned long long; using ll = long long; const int N = 50010; int T; struct node {int l, r;ll sum, add; } tr[N * 4]; ll a[N]; inline in…

vn.py 的日志问题 回测策略的日志处理

vn.py 的日志问题 回测策略的日志处理在回测时,如果不用ui, 测试策略。 范例是直接使用: engine = BacktestingEngine()engine.set_parameters(**test_setting)engine.add_strategy(strategy, strategy_setting)eng…

Python文件操作(下)_ 会写文件,程序便有了记忆

Python文件操作(下)_ 会写文件,程序便有了记忆1

Python文件操作(上)_ 会读文件,程序便有了眼睛

Python文件操作(上)_ 会读文件,程序便有了眼睛#方法一:读取文件f = open("./_math.py", "r", encoding="utf-8")content = f.readlines()for line in content: print(line)f.clo…

KeyShot许可管理监控工具使用指南

在团队或企业中,随着3D渲染需求的增长,对KeyShot许可证的有效管理变得至关重要。为了帮助您更好地掌握KeyShot许可管理的监控工具,本文将提供一份详尽的使用指南,确保您能够轻松实现许可证使用的透明化。 一、了解…

精益装配,智造未来:哲讯科技SAP解决方案赋能装配制造企业数字化转型

精益装配,智造未来:哲讯科技SAP解决方案赋能装配制造企业数字化转型在全球化竞争与个性化需求日益凸显的今天,装配制造企业正站在转型升级的十字路口。从简单的零件组装到复杂的系统集成,从大批量标准化生产到多品…

2025 年工业陶瓷源头厂家最新推荐榜:聚焦技术与服务优选,助力企业精准采购优质工业陶瓷产品工业陶瓷/工业陶瓷管公司推荐

引言 当前工业陶瓷市场需求旺盛,却面临产品质量参差不齐、核心技术缺失、供应链不稳定及环保合规难等问题,严重影响企业采购效率与生产稳定性。为帮助各行业企业精准筛选可靠的工业陶瓷源头厂家,避开采购陷阱,降低…

2025 年氧化铝陶瓷源头厂家最新推荐排行榜:聚焦六大优质企业,助力下游企业精准选合作方氧化铝陶瓷管/氧化铝陶瓷棒/氧化铝陶瓷片公司推荐

引言 当前锂电、半导体、新能源等行业对高品质氧化铝陶瓷需求激增,市场厂家数量虽多,但存在部分厂家无核心技术、非源头生产致成本高、质量管控漏洞多等问题,下游企业常因信息不对称难选靠谱合作方。为破解此困境,…

revit api视图

revit api视图获取视图类型 //Autodesk.Revit.DB.View view = GetView(); //两种判断视图类型的方法: //第一种: ViewType viewType = view.ViewType; switch (viewType) {case Autodesk.Revit.DB.ViewType.ThreeD:/…

Oracle ADG 日常巡检指南

Oracle ADG 日常巡检指南一、基础状态检查数据库角色与模式 SELECT db_unique_name, open_mode, database_role, switchover_status FROM v$database;预期状态:主库:OPEN_MODE=READ WRITE, DATABASE_ROLE=PRIMARY 备…

Ansys Electro-Thermal Analysis

Ansys Electro-Thermal Analysis2025-10-31 17:51 斑鸠,一生。 阅读(0) 评论(0) 收藏 举报