CentOS MySQL主从搭建如何配置与故障排查?

环境准备与系统初始化

在搭建CentOS MySQL主从复制前,需确保两台服务器(主从节点)系统环境一致,建议使用CentOS 7或更高版本,关闭防火墙和SELinux,避免网络权限问题,执行以下命令初始化环境:

CentOS MySQL主从搭建如何配置与故障排查?

systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

确保两台服务器时间同步,可通过ntpdatechrony工具校准时间,避免因时间差异导致复制异常。

MySQL安装与配置

主从节点均需安装MySQL,推荐使用MySQL官方Yum仓库安装最新稳定版:

yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm -y
yum install mysql-community-server -y
systemctl start mysqld && systemctl enable mysqld

安装后,登录MySQL并修改root密码,创建用于复制的用户,主节点执行:

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

主节点配置

编辑主节点MySQL配置文件/etc/my.cnf,添加以下参数:

[mysqld]
server-id = 1          # 唯一ID,主从节点不同
log-bin = mysql-bin     # 启用二进制日志
binlog-format = ROW     # 推荐使用ROW模式,避免数据不一致
sync-binlog = 1         # 每次事务提交时同步二进制日志

保存后重启MySQL服务,通过SHOW MASTER STATUS;查看二进制日志文件名及位置(如mysql-bin.000001Position154),后续从节点需用到这些信息。

CentOS MySQL主从搭建如何配置与故障排查?

从节点配置

编辑从节点/etc/my.cnf,设置唯一server-id(如server-id = 2),确保不与主节点冲突,若从节点需作为其他节点的主节点,可同样开启log-bin参数,重启MySQL服务后,登录从节点并配置主从连接:

CHANGE REPLICATION SOURCE TO
    SOURCE_HOST='主节点IP',
    SOURCE_USER='repl',
    SOURCE_PASSWORD='password',
    SOURCE_LOG_FILE='mysql-bin.000001',
    SOURCE_LOG_POS=154;

执行START REPLICA;启动复制线程,通过SHOW REPLICA STATUS G;检查Slave_IO_RunningSlave_SQL_Running是否均为Yes,确认复制状态正常。

复制验证与故障排查

主从复制启动后,可在主节点创建数据库或插入数据,验证从节点是否同步,若复制失败,常见原因包括网络不通、密码错误、主从server-id冲突等,可通过以下命令排查:

SHOW REPLICA STATUS G;  # 检查错误信息
SHOW MASTER STATUS;       # 确认主节点日志位置

若需重新配置复制,需先执行STOP REPLICA; RESET REPLICA ALL;清除旧配置,再重新执行CHANGE REPLICATION SOURCE TO

高级优化与安全建议

为提升主从复制性能,可调整innodb_flush_log_at_trx_commit参数(主节点设为1,从节点可设为2以减少IO压力),建议定期备份主节点数据,并在从节点上设置read_only=1,避免误写操作,生产环境中,可结合MHA或Orchestrator工具实现主从故障自动切换,提高可用性。

CentOS MySQL主从搭建如何配置与故障排查?

相关问答FAQs

Q1: 主从复制延迟如何解决?
A1: 延迟可能由网络带宽、从节点负载过大或主节点写入量过高导致,可通过优化SQL语句、增加从节点硬件资源,或采用多级复制架构(如主-从-从)分担压力,调整slave_net_timeout参数或启用并行复制(MySQL 5.7+的slave_parallel_workers)也可缓解延迟。

Q2: 主节点宕机后如何快速切换?
A2: 首先停止主节点MySQL服务,确保新主节点(原从节点)数据最新,在原从节点执行STOP REPLICA; RESET MASTER;,修改server-id并启用二进制日志,然后更新应用连接配置,指向新主节点,若需自动切换,可使用MHA工具实现故障检测和主节点自动提升,减少人工干预时间。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-12-13 16:20
下一篇 2025-12-13 16:24

相关推荐

  • CentOS WiFi打不开找不到设备,如何排查驱动和配置问题?

    在CentOS系统中遇到无法打开WiFi的问题,是许多用户,尤其是将CentOS用于桌面环境的用户,常会遇到的挑战,CentOS以其稳定性和企业级应用而闻名,但其对消费级硬件,特别是部分无线网卡的驱动支持,可能不如Ubuntu等桌面发行版那样“开箱即用”,当面临“centos wifi打不开”的困境时,不必惊慌……

    2025-10-19
    006
  • centos账户提权失败怎么办?普通用户如何快速获取root权限?

    在CentOS系统中,账户提权是一项需要谨慎操作的关键任务,通常指将普通用户权限提升至管理员权限(root权限),以便执行系统级配置或维护操作,提权操作存在安全风险,若操作不当可能导致系统漏洞或数据泄露,本文将详细介绍CentOS账户提权的合法方法、安全注意事项及最佳实践,帮助用户在保障系统安全的前提下高效完成……

    2025-11-23
    003
  • CentOS系统如何调整centos键盘映射设置?详细教程与常见问题解答!

    在CentOS系统中,键盘映射是一种常见的需求,尤其是在不同国家和地区的用户之间交换使用计算机时,以下是如何在CentOS系统中设置键盘映射的详细步骤,了解键盘映射键盘映射(keyboard mapping)是指将键盘上的物理键位映射到相应的逻辑键位上,在某些国家,键盘布局与标准美国键盘布局不同,通过键盘映射……

    2026-01-10
    004
  • CentOS系统中拷贝命令的正确使用方法与技巧详解?

    在Linux系统中,CentOS作为一款广泛使用的发行版,其命令行操作对于系统管理和日常维护至关重要,拷贝命令是基础且常用的操作之一,以下将详细介绍CentOS中的拷贝命令及其使用方法,拷贝命令概述在CentOS中,拷贝文件或目录的命令主要有cp和mv两种,cp用于复制文件或目录,而mv则既可以移动文件或目录……

    2026-01-11
    003

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信