TypechoJoeTheme

至尊技术网

统计
登录
用户名
密码

Ubuntu下MySQL主从同步配置全指南:高可用架构实战

2025-08-02
/
0 评论
/
2 阅读
/
正在检测是否收录...
08/02


一、为什么需要主从同步?

在线上业务场景中,数据库单点故障是致命风险。通过主从同步可实现:
- 读写分离:主库写,从库读,提升并发能力
- 数据灾备:从库作为实时备份节点
- 负载均衡:分散查询压力
- 无缝升级:从库先升级验证后再切换

二、环境准备

假设我们有两台Ubuntu 22.04服务器:
- 主库Master:192.168.1.100
- 从库Slave:192.168.1.101

bash

两台服务器均执行

sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql

三、主库(Master)配置

1. 修改MySQL配置文件

bash sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
关键参数调整:
ini [mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_format = ROW binlog_do_db = your_database # 需要同步的数据库 bind-address = 0.0.0.0

2. 创建复制账号

sql mysql> CREATE USER 'replica'@'%' IDENTIFIED BY 'StrongPassword123!'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%'; mysql> FLUSH PRIVILEGES;

3. 获取主库状态

sql mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS;
记录返回的File和Position值(如mysql-bin.000001 / 154)

四、从库(Slave)配置

1. 修改配置文件

ini [mysqld] server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin read_only = 1

2. 配置主从连接

sql mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.1.100', -> MASTER_USER='replica', -> MASTER_PASSWORD='StrongPassword123!', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=154;

3. 启动复制

sql mysql> START SLAVE; mysql> SHOW SLAVE STATUS\G
检查Slave_IO_RunningSlave_SQL_Running是否为Yes

五、验证与监控

1. 测试数据同步

在主库创建测试表:
sql CREATE TABLE sync_test(id INT PRIMARY KEY); INSERT INTO sync_test VALUES(1);
从库查询验证数据一致性

2. 监控命令

sql
-- 主库查看连接进程
SHOW PROCESSLIST;

-- 从库延迟监控
SHOW SLAVE STATUS\G

六、常见问题排查

  1. 连接失败



    • 检查防火墙:sudo ufw allow 3306
    • 验证授权:SELECT user,host FROM mysql.user
  2. 复制中断
    sql STOP SLAVE; SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;

  3. 数据不一致
    使用pt-table-checksum工具校验

七、性能优化建议

  1. 主库配置:
    ini sync_binlog=1 innodb_flush_log_at_trx_commit=1

  2. 从库配置:
    ini slave_parallel_workers=4 # 并行复制线程数

  3. 网络优化:



    • 主从服务器同机房部署
    • 使用千兆以上内网连接

结语

MySQL主从同步看似简单,但实际部署中会遇到各种"坑"。建议先在测试环境演练,重点掌握以下技能:
- 通过SHOW SLAVE STATUS解读复制状态
- 掌握基于GTID的复制配置
- 学会使用mysqldump进行数据修复

在完成基础配置后,可以进一步探索级联复制、半同步复制等高级架构,构建更健壮的数据库体系。

数据备份数据库高可用MySQL主从同步Ubuntu数据库配置主从复制
朗读
赞(0)
版权属于:

至尊技术网

本文链接:

https://www.zzwws.cn/archives/34619/(转载时请注明本文出处及文章链接)

评论 (0)