离线配置MySQL主从同步需先在主从服务器安装MySQL二进制包,配置主库server-id、开启binlog,创建复制用户并记录日志位置;从库设置唯一server-id,启动中继日志和只读模式,执行CHANGE MASTER指向主库并启动复制;最后检查Slave_IO_Running和Slave_SQL_Running均为Yes确认同步正常,确保防火墙开放3306端口。
在离线环境下配置MySQL主从同步,关键在于提前准备好安装包和依赖,并手动完成配置。由于无法使用yum或apt在线安装,所有操作需依赖本地文件。以下是具体步骤。
1. 准备MySQL离线安装环境
确保主从服务器都已完成MySQL的离线安装。
下载与系统匹配的MySQL二进制包(如mysql-8.0.x-linux-glibc2.12-x86_64.tar.xz)
解压并安装到指定目录,例如 /usr/local/mysql初始化数据库:bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data配置my.cnf并启动服务
2. 配置主库(Master)
编辑主库的my.cnf文件,在[mysqld]段添加以下内容:server-id = 1log-bin = mysql-binbinlog-format = ROWbinlog-do-db = your_database_name # 可选:只同步指定库重启MySQL服务后登录数据库,创建用于复制的用户:CREATE USER 'repl'@'%' IDENTIFIED BY 'password';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';FLUSH PRIVILEGES;查看主库状态,记录File和Position值:SHOW MASTER STATUS;
3. 配置从库(Slave)
编辑从库的my.cnf,设置唯一server-id:server-id = 2relay-log = mysql-relay-binread-only = 1重启从库MySQL服务。登录后执行CHANGE MASTER命令,连接主库:CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载CHANGE MASTER TO MASTER_HOST='主库IP',MASTER_USER='repl',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000001', # 来自SHOW MASTER STATUS MASTER_LOG_POS= 156; # 来自SHOW MASTER STATUS
启动复制进程:
START SLAVE;
4. 检查同步状态
在从库执行:
SHOW SLAVE STATUS\G
重点检查以下两项:
Slave_IO_Running: Yes Slave_SQL_Running: Yes如果均为Yes,说明同步正常。若有错误,根据Last_Error信息排查网络、权限或数据不一致问题。
基本上就这些。离线环境只要MySQL二进制包正确,配置文件无误,主从同步可以稳定运行。注意防火墙开放3306端口,SELinux策略允许通信。
