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

MYSQL主从配置

1、Mysql主从配置

MySQL的主备(主从)配置是一种常见的数据高可用性和数据备份方案,主要用于实现数据的实时复制,确保数据的一致性和系统的容错能力。下面我将详细介绍如何配置MySQL的主备环境。

1.1、 环境准备

确保你的服务器上已经安装了MySQL,并且至少有两台服务器,一台作为主服务器(Master),另一台作为从服务器(Slave)。

2. 配置主服务器(Master)

修改配置文件

在主服务器的MySQL配置文件(通常是my.cnfmy.ini)中添加或修改以下配置:

 [mysqld]
 server-id = 1                   # 唯一的服务ID,Master设为1
 log-bin = mysql-bin            # 启用二进制日志
 binlog-do-db = your_database   # 需要复制的数据库名,可多行配置多个数据库binlog-ignore-db = performance_schema       # 设置不需要同步的数据库,如mysql数据库(配置了该项,需要复制的数据库不配置,则除此数据库外其余数据库全部复制)

重启mysql服务

systemctl restart mysqld

创建复制用户

登录MySQL,创建一个用于复制的专用用户:

 # 创建用户并设置密码
 # 创建一个名为 replicator 的用户,@'%' 表示该用户可以从任何主机(远程或本地)连接数据库 IDENTIFIED BY 'password'•:为用户设置密码为 password
 CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
 # MySQL 中用于配置复制权限的 SQL 命令,命令解析如下:
 # GRANT REPLICATION SLAVE•:授予复制权限,允许用户进行数据同步操作。
 # ON *.*:表示对所有数据库和表生效。
 # TO 'replicator'@'%':将权限授予用户 replicator,并允许该用户从任何主机连接(% 表示任意主机)
 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
 ​
 FLUSH PRIVILEGES; # 配置生效

查看二进制日志位置和文件名

SHOW MASTER STATUS;

记录下FilePosition的值,稍后配置从服务器时会用到。

查看二进制日志文件是否开启:SHOW VARIABLES LIKE 'log_bin';on :开启

3. 配置从服务器(Slave)

修改配置文件

在从服务器的MySQL配置文件中添加或修改以下配置:

[mysqld]
server-id = 2                   # 唯一的服务ID,Slave设为2,与Master不同
relay-log = slave-relay-bin    # 中继日志文件名,可选配置 表示中继日志文件将从 slave-relay-bin.000001 开始命名,系统会自动管理后续文件的编号
read_only = 1                  # 从服务器设置为只读模式,可选配置,防止误操作修改数据,0:读写,1:只读

重启MySQL服务

systemctl restart mysqld

配置复制源(Slave连接Master)

登录从服务器的MySQL,执行以下命令:

CHANGE MASTER TO MASTER_HOST='master_ip',MASTER_USER='replicator',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=123;
# 说明如下:
# MASTER_HOST='master_ip',       # 主服务器IP地址
# MASTER_USER='replicator',      # 复制用户名称
# MASTER_PASSWORD='password',    # 复制用户密码
# MASTER_LOG_FILE='mysql-bin.000001',  # 从SHOW MASTER STATUS得到的File值
# MASTER_LOG_POS=123;                 # 从SHOW MASTER STATUS得到的Position值

注意替换master_ippasswordmysql-bin.000001123为实际的IP地址、密码和日志位置。

启动复制线程

启动复制线程:START SLAVE;

查看从库状态:SHOW SLAVE STATUS\G;

检查Slave_IO_RunningSlave_SQL_Running两个字段是否都为Yes,以确认复制正常运行。

4、测试和验证配置

在主服务器上执行一些数据库操作,然后检查从服务器上的相应数据库是否同步了这些操作。如果一切正常,你的MySQL主备配置就成功了。

如果没有同步,建议按照以下步骤检查后,再试

  1. 检查主库是否开始二进制日志文件
  2. 重新关闭再开启从库复制线程
  3. 查看从库复制线程状态是否正常

5、清除主库二进制文件

以此二进制文件为例:mysql-bin.000577

在MySQL主从配置后,‌不能直接删除主库的 mysql-bin.000577 文件‌,否则会导致主从复制中断,从库无法同步数据,甚至引发数据不一致。

是否能删除该文件,取决于‌从库是否已经完全读取并应用了该日志文件中的所有变更‌。如果从库仍在使用该文件,删除后从库会报错并停止复制。

要安全删除 mysql-bin.000577,必须使用MySQL提供的命令,而非直接删除文件系统中的文件。以下是推荐的操作步骤:

1、检查从库同步状态

在从库上执行以下命令,查看从库当前读取的binlog文件和位置:

SHOW SLAVE STATUS\G

关注两个关键字段:

  • Master_Log_File:从库当前正在读取的主库binlog文件名。
  • Read_Master_Log_Pos:从库已读取到该文件中的位置。

如果 Master_Log_File 的值是 mysql-bin.000577 或更早的文件,说明从库仍在使用该文件,‌此时不能删除‌。

2、确认从库已处理完该文件

确认从库不再需要后,在主库客户端执行以下命令删除该文件及之前的所有binlog:

PURGE BINARY LOGS TO 'mysql-bin.000578';

 这条命令会删除 mysql-bin.000577 及之前的所有binlog文件,但保留 mysql-bin.000578 及之后的文件。

或者,如果想按时间删除(例如删除2026年2月5日之前的所有日志):

PURGE BINARY LOGS BEFORE '2026-02-05 00:00:00';

5.1、推荐的长期管理策略

为避免手动操作的麻烦和风险,建议配置‌自动清理机制‌:

MySQL 8.0+‌(推荐):

SET GLOBAL binlog_expire_logs_seconds = 604800; -- 保留7天(单位:秒)

MySQL 5.7 及之前‌:

SET GLOBAL expire_logs_days = 7; -- 保留7天

修改后,建议将参数写入配置文件(如 my.cnf)以永久生效:

[mysqld]
binlog_expire_logs_seconds = 604800

重要提醒‌:在删除任何binlog前,务必确保从库同步正常,且已对关键数据进行备份。误删正在使用的binlog将导致主从复制永久中断,恢复难度极大。‌

 

 

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

相关文章:

  • 污水池清洗2026年推荐企业榜,高效安全之选,污水池清洗厂家怎么选择优质品牌选购指南 - 品牌推荐师
  • 2026年口碑好的中和池耐酸砖/污水池耐酸砖高评分品牌推荐(畅销) - 品牌宣传支持者
  • 人事外包服务商盘点,赋能中小企业+员工入职离职外包 - 包罗万闻
  • 2026年质量好的双层画舫船/单层画舫船厂家推荐及采购参考 - 品牌宣传支持者
  • 沐浴露哪个牌子好?2026十款口碑好的沐浴露推荐!敏肌首选,植萃修护洗后不紧绷 - 博客万
  • VMware Workstation Pro 25H2u1 Unlocker OEM BIOS 2.7 - 在 Windows 和 Linux 上运行 macOS Tahoe
  • 2026年热门的玉田正宗熏鸡/熏鸡公司实力参考哪家强(可靠) - 品牌宣传支持者
  • Apache DolphinScheduler任务失败重试机制:像快递重投一样智能
  • VMware Workstation Pro 25H2u1 for Windows Linux - 免费桌面虚拟化软件
  • 2026靠谱GEO服务商大揭秘,一篇让你告别选择困难! - 品牌测评鉴赏家
  • 2026年拉伸膜真空包装机厂家推荐:大型真空/滚动式/双室食品包装机专业选型指南 - 品牌推荐官
  • Solutions P2985 [USACO10FEB] Chocolate Eating S
  • 建议收藏!别再死磕传统行业!看懂AI大模型,普通人也能逆风翻盘
  • 年夜饭这个战场,必须有我策马扬
  • 2026年比较好的办公渐进多焦点眼镜/近视眼镜优质供应商推荐(信赖) - 品牌宣传支持者
  • 2026年靠谱的LED显示屏批发/LED显示屏热门厂家推荐汇总 - 品牌宣传支持者
  • 收藏级干货|一文搞懂:SFT究竟能教会大模型什么(小白程序员必看)
  • 好写作AI | 实证分析“鬼门关”:AI教你从“看着数据发呆”到“思路清晰”
  • 2026年GEO优化公司大揭秘:谁才是行业真王者? - 品牌测评鉴赏家
  • 科研党收藏!AI论文网站 千笔ai写作 VS 云笔AI,专科生专属写作神器!
  • 春节档扑街、AI炸场,我们为什么还进电影院?
  • 线上医院挂号系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • 2026苏州靠谱财税公司推荐|口碑实测,代理记账+工商注册全域适配 - 品牌智鉴榜
  • 2026年评价高的卷帘门/硬质快速卷帘门热门品牌厂家推荐 - 品牌宣传支持者
  • 全国范围内,如何选择擅长政府采购争议解决的律师 - myqiye
  • 2026别错过!继续教育专属AI论文网站 —— 千笔·专业论文写作工具
  • 程序员必读的Prompt Engineering指南
  • 2026年热门的冲压成型/连续生产线冲压厂家选购参考汇总 - 品牌宣传支持者
  • 2026年热门的柜门厚薄通用双阻尼铰链/柜门开合双阻尼铰链用户口碑认可厂家 - 品牌宣传支持者
  • VMware Fusion 25H2u1 for Mac - 免费桌面虚拟化软件