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

MySQL 5.7.40 主从同步配置教程

MySQL 主从同步能有效提升数据冗余备份与负载均衡。下面我将以 MySQL 5.7.40 版本为例,详细讲解如何进行主从同步配置。

MySQL 5.7.40 主从同步配置教程

一、环境准备

假设我们有两台服务器,一台作为主服务器(Master),IP 为 192.168.1.100;另一台作为从服务器(Slave),IP 为 192.168.1.101。确保两台服务器都安装了 MySQL 5.7.40 版本,并且网络通畅,能相互通信。

二、主服务器配置

(一)修改主服务器配置文件

在主服务器上,编辑 MySQL 配置文件,一般为/etc/mysql/mysql.conf.d/mysqld.cnf(不同系统路径可能略有差异)。

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

在文件中添加或修改以下配置项:

[mysqld]
# 开启二进制日志,记录数据库的变更操作
log-bin=mysql-bin

# 主服务器唯一ID,取值范围1 - 2^32-1

server-id=1

# 配置需要同步的数据库,可配置多个

binlog-do-db=your_database_name

保存并关闭文件。

(二)重启 MySQL 服务

sudo systemctl restart mysql

(三)创建用于同步的用户

登录 MySQL:

mysql -u root -p

输入密码进入 MySQL 命令行后,创建一个用于从服务器连接的用户,例如:

CREATE USER 'slave_user'@'192.168.1.101' IDENTIFIED BY 'your_password';

授予该用户复制权限:

GRANT REPLICATION SLAVE ON  *.* TO 'slave_user'@'192.168.1.101' REQUIRE NONE WITH MAX_USER_CONNECTIONS 0;

刷新权限:

FLUSH PRIVILEGES;

然后查看主服务器状态:

SHOW MASTER STATUS;

记录下FilePosition的值,后续从服务器配置会用到。例如:

+------------------+----------+--------------+------------------+-------------------+

\| File             | Position | Binlog\_Do\_DB | Binlog\_Ignore\_DB | Executed\_Gtid\_Set |

+------------------+----------+--------------+------------------+-------------------+

\| mysql-bin.000003 |      154 | your\_database\_name |                  |                   |

+------------------+----------+--------------+------------------+-------------------+

三、从服务器配置

(一)修改从服务器配置文件

在从服务器上,同样编辑 MySQL 配置文件/etc/mysql/mysql.conf.d/mysqld.cnf

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

添加或修改以下配置项:

[mysqld]

# 从服务器唯一ID,不能与主服务器重复

server-id=2

保存并关闭文件。

(二)重启 MySQL 服务

sudo systemctl restart mysql

(三)配置从服务器连接主服务器

登录 MySQL:

mysql -u root -p

进入 MySQL 命令行后,配置从服务器连接主服务器的信息:

CHANGE MASTER TO

   MASTER_HOST='192.168.1.100',

   MASTER_USER='slave_user',

  MASTER_PASSWORD='your_password',

   MASTER_LOG_FILE='记录的主服务器File值',

   MASTER_LOG_POS=记录的主服务器Position值;

例如:

CHANGE MASTER TO

   MASTER_HOST='192.168.1.100',

   MASTER_USER='slave_user',

  MASTER_PASSWORD='your_password',

   MASTER_LOG_FILE='mysql-bin.000003',

   MASTER_LOG_POS=154;

(四)启动从服务器同步

START SLAVE;

(五)检查从服务器状态

SHOW SLAVE STATUS \G;

重点关注以下两个参数:

Slave_IO_RunningSlave_SQL_Running都应为Yes,表示 I/O 线程和 SQL 线程都正常运行。

Seconds_Behind_Master表示从服务器落后主服务器的时间,如果为 0,则表示同步正常。

如果配置过程中出现问题,可查看 MySQL 错误日志(一般在/var/log/mysql/error.log)排查错误原因。

通过以上步骤,即可完成 MySQL 5.7.40 版本的主从同步配置,实现数据在主从服务器之间的实时同步,保障数据的安全性和高可用性。

相关文章:

  • kettle工具使用从入门到精通(一)
  • 高效计算新篇章:探秘稀疏注意力如何颠覆传统Transformer
  • 从0开始,手搓Tomcat
  • 【Docker】通过 Docker 拉取 Python 镜像并设置远程连接(SSH)
  • 在K8S中,svc底层是如何实现的?
  • 基于SpringBoot的“文物管理系统”的设计与实现(源码+数据库+文档+PPT)
  • 【无人机三维路径规划】基于CPO冠豪猪优化算法的无人机三维路径规划Maltab
  • 肖恩的n次根
  • 探秘 Threejs GUI:开启丝滑调试之旅
  • 探索DeepSeek:牛仔技术的未来在哪里?
  • android 支持自定义布局、线程安全、避免内存泄漏的 Toast 工具类
  • 用分页干掉显存浪费!聊聊VLLM的PagedAttention
  • Django系列教程(4)——实例项目任务管理小应用
  • MySQL复习笔记
  • 力扣 : 45. 跳跃游戏 II
  • BM25原理概述
  • redis数据类型以及底层数据结构
  • 机器视觉选型中,不同焦距的镜头成像视野有什么不同?
  • 【空地协同技术教程:概念与技术手段解析】
  • 构建功能齐全的JavaScript计算器:从基础到高级功能的全面实现
  • 企业名录搜索软件免费/湘潭seo快速排名
  • 网站模版好建设吗/网站收录查询网
  • 崇明区建设镇政府网站/天津百度搜索排名优化
  • 上海的公司都有哪些/seo推广工具
  • 网站建设流程心得/直通车官网
  • 云南 网站建立/淘宝客推广一天80单