centos7.x下,使用宝塔进行主从复制的原理和实践

操作原理:

一、主库配置
1.修改 MySQL 配置文件
# 编辑主库配置文件(路径根据实际系统可能不同)
vim /etc/my.cnf
 
# 添加以下配置
[mysqld]
server-id = 1                 # 唯一 ID,主库设置为 1
log-bin = mysql-bin           # 启用二进制日志
binlog_format = ROW           # 推荐使用 ROW 模式
expire_logs_days = 7          # 日志保留天数
max_binlog_size = 100M        # 单个日志文件大小
skip_name_resolve = ON        # 跳过域名解析(可选)

重启 MySQL 服务
systemctl restart mysqld

2.登录到主服务器:
mysql -u root -p

3.创建复制用户
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;

4.查看主服务器的状态
SHOW MASTER STATUS;

二、从库配置
1.修改 MySQL 配置文件
# 编辑从库配置文件
vim /etc/my.cnf
 
# 添加以下配置
[mysqld]
server-id = 2                 # 唯一 ID,不能与主库相同
relay-log = mysql-relay-bin   # 启用中继日志
read_only = ON                # 从库只读(可选,确保数据安全)

重启 MySQL 服务
systemctl restart mysqld

2.登录到主服务器:
mysql -u root -p

3.配置从服务器
CHANGE MASTER TO
  MASTER_HOST='主服务器IP',
  MASTER_USER='replicator',
  MASTER_PASSWORD='password',
  MASTER_LOG_FILE='记录的File值',
  MASTER_LOG_POS=记录的Position值;
  
4.启动复制
START SLAVE;

5.检查从服务器的状态
SHOW SLAVE STATUS\G
查看 Slave_IO_Running 和 Slave_SQL_Running 是否都为 Yes,这表示复制正在正常运行。
关键字段检查:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0(表示无延迟)
若出现错误,检查 Last_IO_Error 或 Last_SQL_Error。

三、如何遇到错误后,排查解决后,重新执行
STOP SLAVE;
RESET SLAVE ALL;
-- 重新执行
CHANGE MASTER TO ……
START SLAVE;
SHOW SLAVE STATUS;

四、同步主库现有数据(可选)

1.主库导出数据
# 使用 mysqldump 导出数据(自动记录 binlog 位置)
mysqldump -uroot -p --all-databases --master-data=1 > /tmp/master_dump.sql(或使用宝塔备份功能)
2.将备份文件导入从库
# 复制文件到从库
scp /tmp/master_dump.sql root@slave_ip:/tmp/
# 从库导入数据
mysql -uroot -p < /tmp/master_dump.sql

---------------------------------------------------------------------------------
实战案例

一、主库配置(10.0.12.16)
1.配置防火墙,主库服务器对从库IP开放3306端口
2.宝塔修改配置文件,保存后重启
server-id = 1                 # 唯一 ID,主库设置为 1,默认不需要修改
3.phpMyadmin执行SQL,创建复制用户(10.0.16.16为从库IP)
CREATE USER 'replicator'@'10.0.16.16' IDENTIFIED BY 'abcc1b259f57f8b9111';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'10.0.16.16';
FLUSH PRIVILEGES;
4.记录的File值,记录的Position值
SHOW MASTER STATUS;

二、从库配置(10.0.16.16)
1.宝塔修改配置文件,保存后重启
server-id = 2                 # 唯一 ID,不能与主库相同
relay-log = mysql-relay-bin   # 启用中继日志
2.phpMyadmin执行SQL
CHANGE MASTER TO
  MASTER_HOST='10.0.12.16',
  MASTER_USER='replicator',
  MASTER_PASSWORD='abcc1b259f57f8b9111',
  MASTER_LOG_FILE='mysql-bin.000005',
  MASTER_LOG_POS=3629;
3.启动复制
START SLAVE;
4.查看从服务器的状态
SHOW SLAVE STATUS;

三、同步主库现有数据
1.从有数据的服务器上使用宝塔进行备份
2.上传备份数据到新的主服务器
scp /www/backup/database/mysql/hz_fw_game/hz_fw_game_2025-05-13_20-43-58_mysql_data_vmdYO.sql.zip root@xxx.229.73.57:/root/
3.在新的主服务器上执行数据库导入操作,此时从数据库就正常同步了,可以做到主从一致

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

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

相关文章

从零实现基于Transformer的英译汉任务

1. model.py&#xff08;用的是上一篇文章的代码&#xff1a;从0搭建Transformer-CSDN博客&#xff09; import torch import torch.nn as nn import mathclass PositionalEncoding(nn.Module):def __init__ (self, d_model, dropout, max_len5000):super(PositionalEncoding,…

c#建筑行业财务流水账系统软件可上传记账凭证财务管理系统签核功能

# financial_建筑行业 建筑行业财务流水账系统软件可上传记账凭证财务管理系统签核功能 # 开发背景 软件是给岳阳客户定制开发一款建筑行业流水账财务软件。提供工程签证单、施工日志、人员出勤表等信息记录。 # 财务管理系统功能描述 1.可以自行设置记账科目&#xff0c;做凭…

MySQL 8.0 OCP 1Z0-908 题目解析(2)

题目005 Choose two. Which two actions can obtain information about deadlocks? □ A) Run the SHOW ENGINE INNODB MUTEX command from the mysql client. □ B) Enable the innodb_status_output_locks global parameter. □ C) Enable the innodb_print_all_deadlock…

XA协议和Tcc

基于 XA 协议的两阶段提交 (2PC)。这是一种分布式事务协议&#xff0c;旨在保证在多个参与者&#xff08;通常是不同的数据库或资源管理器&#xff09;共同参与的事务中&#xff0c;所有参与者要么都提交事务&#xff0c;要么都回滚事务&#xff0c;从而维护数据的一致性。 你…

数据分析-图2-图像对象设置参数与子图

from matplotlib import pyplot as mp mp.figure(A figure,facecolorgray) mp.plot([0,1],[1,2]) mp.figure(B figure,facecolorlightgray) mp.plot([1,2],[2,1]) #如果figure中标题已创建&#xff0c;则不会新建窗口&#xff0c; #而是将旧窗口设置为当前窗口 mp.figure(A fig…

跳转语句:break、continue、goto -《Go语言实战指南》

在控制流程中&#xff0c;我们有时需要跳出当前循环或跳过当前步骤&#xff0c;甚至直接跳转到指定位置。Go 提供了三种基本跳转语句&#xff1a; • break&#xff1a;跳出当前 for、switch 或 select。• continue&#xff1a;跳过本轮循环&#xff0c;进入下一轮。• goto&a…

Linux中find命令用法核心要点提炼

大家好&#xff0c;欢迎来到程序视点&#xff01;我是你们的老朋友.小二&#xff01; 以下是针对Linux中find命令用法的核心要点提炼&#xff1a; 基础语法结构 find [路径] [选项] [操作]路径&#xff1a;查找目录&#xff08;.表当前目录&#xff0c;/表根目录&#xff09;…

MQTT协议详解:物联网通信的轻量级解决方案

MQTT协议详解&#xff1a;物联网通信的轻量级解决方案 引言 在物联网(IoT)快速发展的今天&#xff0c;设备间高效可靠的通信变得至关重要。MQTT(Message Queuing Telemetry Transport)作为一种轻量级的发布/订阅协议&#xff0c;已成为物联网通信的首选解决方案。本文将深入探…

list基础用法

list基础用法 1.list的访问就不能用下标[]了,用迭代器2.emplace_back()几乎是与push_back()用法一致&#xff0c;但也有差别3.insert(),erase()的用法4.reverse()5.排序6.合并7.unique()&#xff08;去重&#xff09;8.splice剪切再粘贴 1.list的访问就不能用下标[]了,用迭代器…

2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解

第十六届蓝桥杯大赛软件赛C/C大学B组题解 试题A: 移动距离 问题描述 小明初始在二维平面的原点&#xff0c;他想前往坐标(233,666)。在移动过程中&#xff0c;他只能采用以下两种移动方式&#xff0c;并且这两种移动方式可以交替、不限次数地使用&#xff1a; 水平向右移动…

BGP实验练习2

需求&#xff1a; 1.AS1存在两个环回&#xff0c;一个地址为192.168.1.0/24&#xff0c;该地址不能再任何协议中宣告 AS3存在两个环回&#xff0c;该地址不能再任何协议中宣告 AS1还有一个环回地址为10.1.1.0/24&#xff0c;AS3另一个环回地址是11.1.1.0/24 最终要求这两…

【温湿度物联网】记录1:寄存器配置

一&#xff0c;及哦地址 基地址base的定义&#xff1a; ↓ 定义完是这个&#xff1a; GPIOA的地址就是以上的代表 2寄存器&#xff1a; 通过bsrr来改变odr寄存器&#xff0c;左移16位就是把0-15位的给移到高位的保留区&#xff0c;这样就归零了 3&#xff0c;项目寄存器实操…

MCP项目实例 - client sever交互

1. 项目概述 项目目标 构建一个本地智能舆论分析系统。 利用自然语言处理和多工具协作&#xff0c;实现用户查询意图的自动理解。 进行新闻检索、情绪分析、结构化输出和邮件推送。 系统流程 用户查询&#xff1a;用户输入查询请求。 提取关键词&#xff1a;从用户查询中…

运维体系架构规划

运维体系架构规划是一个系统性工程&#xff0c;旨在构建高效、稳定、安全的运维体系&#xff0c;保障业务系统的持续运行。下面从规划目标、核心模块、实施步骤等方面进行详细阐述&#xff1a; 一、规划目标 高可用性&#xff1a;确保业务系统 724 小时不间断运行&#xff0c…

zst-2001 上午题-历年真题 计算机网络(16个内容)

网络设备 计算机网络 - 第1题 ac 计算机网络 - 第2题 d 计算机网络 - 第3题 集线器不能隔离广播域和冲突域&#xff0c;所以集线器就1个广播域和冲突域 交换机就是那么的炫&#xff0c;可以隔离冲突域&#xff0c;有4给冲突域&#xff0c;但不能隔离广播域&#xf…

Python之with语句

文章目录 Python中的with语句详解一、基本语法二、工作原理三、文件操作中的with语句1. 基本用法2. 同时打开多个文件 四、with语句的优势五、自定义上下文管理器1. 基于类的实现2. 使用contextlib模块 六、常见应用场景七、注意事项 Python中的with语句详解 with语句是Python…

我的五周年创作纪念日

五年前的今天&#xff0c;我在CSDN发布了第一篇《基于VS2015的MFC学习笔记&#xff08;常用按钮button&#xff09;》&#xff0c;文末那句"欢迎交流"的忐忑留言&#xff0c;开启了这段充满惊喜的技术旅程。恍然发觉那些敲过的代码早已成长为参天大树。 收获 获得了…

Realtek 8126驱动分析第四篇——multi queue相关

Realtek 8126是 5G 网卡&#xff0c;因为和 8125 较为接近&#xff0c;第四篇从这里开始也无不可。本篇主要是讲 multi queue 相关&#xff0c;其他的一些内容在之前就已经提过&#xff0c;不加赘述。 1 初始化 1.1 rtl8126_init_one 从第一篇我们可以知道每个 PCI 驱动都注…

使用PHP对接日本股票市场数据

本文将介绍如何通过StockTV提供的API接口&#xff0c;使用PHP语言来获取并处理日本股票市场的数据。我们将以查询公司信息、查看涨跌排行榜和实时接收数据为例&#xff0c;展示具体的操作流程。 准备工作 首先&#xff0c;请确保您已经从StockTV获得了API密钥&#xff0c;并且…

爬虫工具与编程语言选择指南

有人问爬虫如何选择工具和编程语言。根据我多年的经验来说&#xff0c;是我肯定得先分析不同场景下适合的工具和语言。 如果大家不知道其他语言&#xff0c;比如JavaScript&#xff08;Node.js&#xff09;或者Go&#xff0c;这些在特定情况下可能更合适。比如&#xff0c;如果…