云服务器MySQL8.0主从复制部署全流程指南
文章分类:售后支持 /
创建时间:2025-12-23
打个比方,主从复制就像老师(主服务器)教学生(从服务器)知识,老师讲一遍,学生跟着学。在云服务器上搭建MySQL8.0主从复制环境,能显著提升数据可用性和读写性能。接下来我们分步骤拆解具体部署过程。
部署前的基础准备
首先需要一台已安装MySQL8.0的云服务器作为主节点,另一台或多台同版本MySQL的云服务器作为从节点。需确保所有云服务器网络互通,防火墙开放MySQL默认端口3306(若有自定义端口需同步开放)。此外,建议具备基础Linux操作能力,后续会用到文件查找、服务重启等命令。
主服务器核心配置
第一步定位配置文件。通过命令“sudo find / -name my.cnf”找到MySQL配置文件,用vim等工具打开后,添加或调整以下参数:
server-id = 1 (主服务器唯一标识,从服务器需设不同值)
log-bin = mysql-bin (开启二进制日志,记录数据变更供从服务器同步)
binlog-do-db = target_db (替换为需复制的数据库名,多库可重复此配置)
保存后执行“sudo systemctl restart mysqld”重启服务生效。
第二步创建复制用户。登录MySQL(命令:mysql -u root -p),执行SQL语句:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'YourPass123';
GRANT REPLICATION SLAVE ON *.* TO'repl_user'@'%';
FLUSH PRIVILEGES;
此用户用于从服务器连接主服务器获取日志,“%”表示允许任意IP访问,生产环境建议限制具体IP增强安全性。
最后记录主服务器状态。执行“SHOW MASTER STATUS;”,重点记住输出结果中的File(如mysql-bin.000001)和Position(如154)值,后续从服务器配置需用到。
从服务器配置与启动
同样编辑从服务器my.cnf文件,添加:
server-id = 2 (需与主服务器不同,建议递增编号)
relay-log = mysql-relay-bin (存储主服务器发送的日志,供从服务器执行)
保存后重启MySQL服务。
登录从服务器MySQL,执行连接配置命令:
CHANGE MASTER TO
MASTER_HOST='主服务器公网IP',
MASTER_USER='repl_user',
MASTER_PASSWORD='YourPass123',
MASTER_LOG_FILE='主服务器File值',
MASTER_LOG_POS=主服务器Position值;
完成后执行“START SLAVE;”启动复制进程,再通过“SHOW SLAVE STATUS\G;”检查状态,若Slave_IO_Running和Slave_SQL_Running均显示Yes,则表示配置成功。
验证同步效果
在主服务器目标数据库执行“CREATE TABLE test (id INT);”或插入一条数据,随后登录从服务器对应数据库查询。若能看到相同表结构或数据,说明主从复制已正常工作。
需要注意的是,云服务器网络延迟可能影响同步效率,建议主从节点选择同地域机房;若需同步多个数据库,需在主服务器配置中逐行添加“binlog-do-db”参数。实际操作中遇到连接失败,可优先检查防火墙规则、用户权限及日志文件路径是否正确。
通过以上步骤,即可在云服务器上完成MySQL8.0主从复制环境部署。掌握这一技术能有效提升数据库容灾能力,为业务高可用运行提供坚实支撑。
工信部备案:苏ICP备2025168537号-1