在现代 IT 架构中,RockyLinux数据库复制 是保障数据安全、提升系统可用性的重要手段。本文将详细讲解如何在 Rocky Linux 系统上配置 MySQL 主从复制,即使你是 Linux 新手,也能轻松上手!
一、什么是数据库复制?
数据库复制是指将一个数据库服务器(主库)的数据自动同步到另一个或多个数据库服务器(从库)的过程。通过 RockyLinux MySQL配置 实现主从复制,可以做到:
读写分离:主库负责写入,从库负责读取,提升性能 数据备份:从库可作为热备,主库故障时快速切换 高可用架构基础:为后续搭建 MHA、PXC 等方案打下基础二、环境准备
本教程使用以下环境:
操作系统:Rocky Linux 9(最小化安装) MySQL 版本:8.0(官方仓库安装) 主库 IP:192.168.1.10 从库 IP:192.168.1.11 确保两台机器网络互通,防火墙放行 3306 端口三、在主库上配置 MySQL
1. 安装 MySQL(若未安装):
sudo dnf install -y mysql-serversudo systemctl enable --now mysqld
2. 修改主库配置文件
/etc/my.cnf或
/etc/my.cnf.d/mysql-server.cnf,添加以下内容:
[mysqld]server-id=1log-bin=mysql-binbinlog-do-db=your_database_name # 可选:指定要复制的数据库binlog-ignore-db=mysql # 可选:忽略系统库binlog-format=ROW
3. 重启 MySQL 服务:
sudo systemctl restart mysqld
4. 登录 MySQL,创建用于复制的专用用户:
mysql -u root -p-- 执行以下 SQLCREATE USER 'repl_user'@'%' IDENTIFIED BY 'StrongPassword123!';GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';FLUSH PRIVILEGES;
5. 查看主库状态,记录 File 和 Position 值:
SHOW MASTER STATUS;
四、在从库上配置 MySQL
1. 同样安装 MySQL 并启动服务。
2. 修改从库配置文件,设置唯一 server-id:
[mysqld]server-id=2relay-log=mysql-relay-binread-only=1
3. 重启 MySQL 服务:
sudo systemctl restart mysqld
4. 登录从库 MySQL,配置主从连接:
CHANGE MASTER TO MASTER_HOST='192.168.1.10', MASTER_USER='repl_user', MASTER_PASSWORD='StrongPassword123!', MASTER_LOG_FILE='mysql-bin.000001', -- 替换为你主库 SHOW MASTER STATUS 的 File MASTER_LOG_POS=156; -- 替换为你主库的 Position 值START SLAVE;
5. 检查从库复制状态:
SHOW SLAVE STATUS\G
如果看到
Slave_IO_Running: Yes和
Slave_SQL_Running: Yes,说明复制已成功启动!
五、验证复制效果
在主库创建一个测试表或插入数据:
USE your_database_name;CREATE TABLE test_replication (id INT PRIMARY KEY, name VARCHAR(50));INSERT INTO test_replication VALUES (1, 'RockyLinux Replication Test');
然后在从库查询该表,若数据一致,则 数据库高可用 架构已初步实现!
六、常见问题与注意事项
确保主从 server-id 不重复 防火墙需放行 3306 端口:sudo firewall-cmd --add-port=3306/tcp --permanentMySQL 8 默认使用 caching_sha2_password 插件,若从库版本较低可能需调整认证方式 生产环境中建议使用 SSL 加密复制通道
通过以上步骤,你已经成功在 Rocky Linux 上完成了 MySQL 主从复制 的基础配置。这不仅提升了系统的容灾能力,也为后续构建更复杂的 数据库高可用 架构奠定了坚实基础。
祝你在 RockyLinux 数据库复制的道路上越走越远!
