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

MYSQL主从复制搭建

目录

前言

一、搭建环境

1.1整个实验的环境 以及服务器信息

1.2主从服务器时间同步

1.2.1下载ntpdate 命令

1.2.2使用ntpdate 命令同步时间

1.3关闭防火墙和防火墙增强功能

1.4从库同主库

二、安装MySQL

2.1、环境准备

2.2获取压缩包并源码解压与依赖

2.3进入MySQL解压文件目录,CMake 编译配置

2.4编译安装

2.5MySQL配置

2.6MYSQL服务及登录修改密码

2.7 从服务器同主服务器,步骤同上

三、配置主从同步

3.1修改master 配置

3.2配置从数据库

3.3测试主从配置

总结


前言

在当今数据驱动的业务场景中,数据库的高可用性和读写分离能力已成为系统架构设计的核心需求。MySQL 主从复制(Master-Slave Replication)作为一种成熟、可靠的数据同步方案,能够有效提升数据库的可用性、扩展数据备份容灾能力,并为读写分离提供基础支撑。

本文旨在为运维工程师、数据库管理员及开发人员提供一份详尽的实战指南,手把手演示如何在 CentOS 7.9 操作系统上,通过源码编译方式安装 MySQL 5.7,并配置一主两从的数据库集群。教程内容涵盖从环境准备、时间同步、防火墙配置,到 MySQL 编译安装、主从同步参数配置,以及最终的同步验证全流程。

通过跟随本文步骤,读者将能够:

  • 理解 MySQL 主从复制的基本原理与核心配置项;
  • 掌握在 Linux 环境下源码编译安装 MySQL 5.7 的完整流程;
  • 独立完成一主两从架构的搭建与联调测试;
  • 识别并规避配置过程中常见的陷阱与错误。

无论您是初次接触 MySQL 高可用架构,还是希望巩固实战技能,本文都将为您提供清晰、可复现的操作指引。让我们开始吧!

一、搭建环境

1.1整个实验的环境 以及服务器信息

环境部署cetos7.9
虚拟机服务环境
Master服务器:192.168.1.111 mysql5.7
slave1服务器:192.168.1.116 mysql5.7
Slave2服务器:192.168.1.17 mysql5.7

1.2主从服务器时间同步

1.2.1下载ntpdate 命令

yum -y install ntpdate ntp

1.1

1.2.2使用ntpdate 命令同步时间

ntpdate ntp.aliyun.com

1-2

1.3关闭防火墙和防火墙增强功能

1.3.1关闭防火墙

systemctl disable --now firewalld

1-3

1.3.2关闭增强功能

setenforce 0 ; getenfoece

1-4

1.4从库同主库

1.4.1执行时间同步

1.4.2关闭防火墙和增强功能

二、安装MySQL

2.1、环境准备

yum-yinstallgccgcc-c++ncurses ncurses-devel bison cmake

1-5

2.2获取压缩包并源码解压与依赖

tar -zxvf mysql-5.7.17.tar.gz-C/opt

1-6

tar -zxvf boost_1_59_0.tar.gz-C/usr/local/
mv/usr/local/boost_1_59_0 /usr/local/boost

1-7

2.3进入MySQL解压文件目录,CMake编译配置

cd /otp/mysql-5.7.17

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1\
-DWITH_ARCHIVE_STORAGE_ENGINE=1\
-DWITH_BLACKHOLE_STORAGE_ENGINE=1\
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1\
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

1-8

2.4编译安装

make-j2&&makeinstall

1-9

2.5MySQL配置

2.5.1权限配置
useradd -M -s /sbin/nologn mysql
chown-Rmysql:mysql /usr/local/mysql/ #属组 -R递归
chownmysql:mysql /etc/my.cnf #mysql配置文件

1-10

2.5.2修改配置文件
vim /etc/my.cnf

1-11

2.5.3环境变量设置
echo"PATH=$PATH:/usr/local/mysql/bin">> /etc/profile
source/etc/profile

1-12

2.5.4数据库初始化
cd/usr/local/mysql/bin/
./mysqld \
--initialize-insecure\
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

1-13

2.6MYSQL服务及登录修改密码

2.6.1 设置MySQL服务

cp/usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
2.6.2启动MySQL并开启自启
systemctl daemon-reload
systemctlstartmysqld.service
systemctl enable mysqld
netstat-anpt|grep3306

1-14

2.6.3账号密码管理
设置mysqladmin-uroot-ppassword"123456" 第一次登录密码为空直接enter

1-15

登录mysql-uroot-p123456

1-16

2.7 从服务器同主服务器,步骤同上

注:MySQL版本必须一样

三、配置主从同步

3.1修改master 配置

vim /etc/mys.cnf

3.1.1在mysqld模块下修改内容
开启二进制日志文件(之后生成的日志名为master-bin) log_bin=master-bin
开启从服务器日志同步 log_slave-updates=true

2-1

3.1.2重启MySQL

2-2

3.1.3创建用户并授权

create user 'z1'@'%' identified by '123456';

grant all on *.* to 'z1'@'%' identified by '123456';

grant replication slave on *.* to 'z1'@'%' identified by '123456';

2-3

3.1.4刷新权限并查看master数据库状态

2-4

3.2配置从数据库

vim /etc/my.cnf

3.2.1mysqld模块下修改内容

#开启二进制日志文件
log-bin=master-bin
#设置server id22slave223
server_id = 22
#从主服务器上同步日志文件记录到本地
relay-log=relay-log-bin
#定义relay-log的位置和名称(index索引)
relay-log-index=slave-relay-bin.index

2-5

3.2.2重启MySQL并登录开启从服务器功能

systemctl restart mysqld

mysql -uroot -p123456

change master to master_host='192.168.1.111',master_user='z1',master_password='123456',master_log_file

='master-bin.000004',master_log_pos=1716;

start slave;

2-6

3.2.3 另一从库同上

注:server_id 不同

3.3测试主从配置

3-1

3-2

总结

本文详细介绍了在 CentOS 7.9 环境下搭建 MySQL 5.7 一主两从集群的完整流程。整个过程可分为三个主要阶段:

  1. 环境搭建:包括服务器时间同步、防火墙关闭等基础环境配置,确保主从服务器间网络与时间一致。
  2. MySQL 安装与配置:通过源码编译方式安装 MySQL 5.7,完成权限、配置文件、环境变量及服务启动等步骤,并在主从服务器上分别完成相同操作。
  3. 主从同步配置与测试:在主库开启二进制日志并创建同步账号,在从库配置 server_id、relay-log 并指向主库,最后通过数据操作验证同步是否成功。

关键注意事项:

  • 主从服务器时间必须同步,避免因时间差导致数据不一致。
  • MySQL 版本需保持一致,推荐使用相同版本的源码编译安装。
  • 主从配置中的 server_id 必须唯一,且从库的 relay-log 配置需正确指向主库的 binlog 文件与位置。
  • 配置完成后务必通过show slave status\G检查 Slave_IO_Running 和 Slave_SQL_Running 是否为 Yes,确保同步线程正常运行。

通过以上步骤,可以搭建一个高可用、读写分离的 MySQL 主从复制环境,为后续业务的数据冗余与负载均衡提供基础支撑。

http://www.jsqmd.com/news/1320089/

相关文章:

  • 终极指南:如何用开源B站抢票工具告别抢票失败
  • Forza Mods AIO:极限竞速地平线终极修改器完全指南
  • 国内网络环境下Codex AI编程助手零门槛安装与配置全指南
  • 【AI法律应用实战指南】:20年律所技术总监亲授,5大高频场景落地公式(含合规红线清单)
  • 2026 郑州黄金回收行业标准解读,持证实体门店推荐 - 奢侈品回收评测
  • 从原理图到PCB实战:信号完整性、电源完整性与DFM设计全解析
  • 2026年广东钢结构工厂哪家可靠?厂家推荐与选择指南 - 优质品牌商家
  • KnowHub RAG 全链路面试专训(已解答版)
  • 2026年石家庄高端白酒回收怎么选?本地口碑商家参考指南 - 优质品牌商家
  • UnrealPakViewer实战:解析虚幻引擎Pak文件与资源优化指南
  • Ubuntu 20.04安装ROS Noetic时依赖冲突的完整解决方案
  • 3分钟完成视频字幕提取:本地OCR工具的完美解决方案
  • 【Bug已解决】Torchao fp8 fails if using accelerate config file with Trainer 解决方案
  • Windows内存优化终极指南:MemReduct 3.5.2轻量级内存清理工具完全解析
  • 为什么83%的AI客服项目在上线3个月内失败?揭秘架构设计、知识库冷启动与人工坐席协同的3个致命盲区
  • 2026年学员问考CPPM的投入产出比怎么算——中研供应链刘老师8800元培训费vs持证后薪资涨幅投资回报量化分析 - 中研供应链官方
  • 重庆干式变压器源头厂家,九能控股干式电力变压器适配西南高温高湿工况 - 市场沸点
  • 南京老房翻新公司全类型推荐 轻局改/半局改/硬装局改全模式覆盖 - 知汇研习社
  • 基于虚幻引擎的天坛文化遗产虚拟漫游系统设计
  • 淄博GEO推广技术中心:AI搜索时代的企业增长新引擎 - 生活动态圈
  • 郑州管城区管道疏通哪家靠谱?2026业主避坑实测推荐 - 余生黄金回收
  • Grove串口RF Pro模块:从透明传输到可靠物联网通信的实战指南
  • 解决PyInstaller命令未识别:环境变量配置与命令行工具通用排查指南
  • 全资质认证 郴州黄金回收正规服务参考指南 - 小仙贝贝
  • 2026成都锦江区管道疏通避坑指南:3家本地师傅实测推荐 - 余生黄金回收
  • 建信金融科技(建信金科)人员待遇汇总
  • Java多线程死锁问题排查与预防实战指南
  • 命运2单人模式终极指南:告别抢怪烦恼的完整解决方案
  • P17174 「MSOI R1」距离 题解 - fl0ppy
  • 西安靠谱导游怎么找|2026完整甄别指南,渠道+核验+避坑一次说清 - 旅行分享