21 9 月, 2025

第一步:网络连通性检查

目标:确保两台服务器之间网络通畅

bash

# 检查网络连通性
ping 目标服务器IP
telnet 目标服务器IP 3306

# 验证防火墙设置
systemctl status firewalld
iptables -L -n

关键点

  • 确认3306端口对外开放
  • 检查云服务商安全组规则
  • 验证内网/公网连通性

第二步:创建同步账户

目标:建立专门用于数据复制的数据库账户

sql

-- 在主服务器上创建复制用户
CREATE USER 'replica_user'@'从服务器IP' IDENTIFIED BY '强密码';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'从服务器IP';
FLUSH PRIVILEGES;

权限要求

  • REPLICATION SLAVE 权限
  • 指定从服务器IP地址增强安全性
  • 使用强密码策略

第三步:数据同步

目标:将主服务器数据完整迁移到从服务器

bash

# 主服务器创建数据备份
mysqldump -u用户名 -p密码 --master-data --single-transaction --all-databases > backup.sql

# 传输备份文件到从服务器
scp backup.sql 用户名@从服务器IP:/tmp/

# 从服务器导入数据
mysql -u用户名 -p密码 < /tmp/backup.sql

注意事项

  • 使用--master-data记录二进制日志位置
  • --single-transaction确保数据一致性
  • 备份期间避免大量数据写入

第四步:启动主从复制

目标:配置并启动复制进程

sql

-- 在从服务器上执行
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='replica_user',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=123456;

START SLAVE;

验证命令

sql

SHOW SLAVE STATUS\G
-- 检查Slave_IO_Running和Slave_SQL_Running状态
-- 确认Seconds_Behind_Master值为0

常见问题与解决方案

问题类型表现解决方法
网络连接Connection timed out检查安全组、防火墙设置
权限问题Access denied确认复制用户权限和主机设置
数据不一致同步中断或错误重新初始化数据同步
版本兼容语法错误确保主从MySQL版本兼容

This entry was posted on 星期日, 21 9 月, 2025 at 8:57 下午 and is filed under Uncategorized. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>