首页主机资讯Debian MariaDB主从复制配置步骤

Debian MariaDB主从复制配置步骤

时间2025-11-21 21:41:03发布访客分类主机资讯浏览896
导读:Debian 下 MariaDB 主从复制配置步骤 一 环境准备与前置检查 准备两台 Debian 服务器,已安装 MariaDB,网络互通,开放 3306/TCP;建议主从版本一致(如均为 10.x)。 规划唯一 server-id(取...

Debian 下 MariaDB 主从复制配置步骤

一 环境准备与前置检查

  • 准备两台 Debian 服务器,已安装 MariaDB,网络互通,开放 3306/TCP;建议主从版本一致(如均为 10.x)。
  • 规划唯一 server-id(取值范围 1~2^32-1),主库开启二进制日志,从库后续用于回放。
  • Debian 常见配置路径为:/etc/mysql/mariadb.conf.d/50-server.cnf(或 /etc/my.cnf);确保未启用 skip-networking,并按需设置 bind-address 为服务器网卡 IP 或 0.0.0.0(仅内网环境建议)。
  • 主库数据目录可通过 SHOW VARIABLES LIKE 'datadir'; 查看,用于确认数据一致性基线。

二 主库配置

  • 编辑配置文件,在 [mysqld] 段添加或修改:
    • server-id=1(唯一)
    • log-bin=mysql-bin(开启二进制日志)
    • 可选:bind-address=0.0.0.0(允许远程复制;生产环境请限制来源网段)
  • 重启服务:systemctl restart mariadb
  • 创建复制专用账号(仅授予复制权限):
    • CREATE USER 'repl'@'从库IP或网段' IDENTIFIED BY '强密码';
    • GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从库IP或网段';
    • FLUSH PRIVILEGES;
  • 锁定表以获取一致性快照(可选,强烈建议用于已有数据场景):
    • FLUSH TABLES WITH READ LOCK;
  • 获取主库当前二进制日志位点:
    • SHOW MASTER STATUS; 记录 FilePosition(如:mysql-bin.000020、1441)
  • 备份导出数据(在锁表期间或基于一致性快照):
    • mysqldump -uroot -p --single-transaction --databases 需要复制的库 > master.sql
  • 解锁表:UNLOCK TABLES; (如使用备份工具如 Percona XtraBackup,可免锁获取一致性备份)

三 从库配置

  • 编辑配置文件,在 [mysqld] 段设置唯一 server-id=2(不可与主库相同)。
  • 重启服务:systemctl restart mariadb
  • 导入主库备份(若主库已有数据):mysql -uroot -p < master.sql
  • 配置复制起点(使用上一步记录的 File/Position):
    • CHANGE MASTER TO
      • MASTER_HOST='主库IP',
      • MASTER_USER='repl',
      • MASTER_PASSWORD='强密码',
      • MASTER_LOG_FILE='mysql-bin.000020',
      • MASTER_LOG_POS=1441;
  • 启动复制:START SLAVE;
  • 检查复制状态:SHOW SLAVE STATUS\G,确保 Slave_IO_Running: YesSlave_SQL_Running: Yes
  • 连通性自检(可选):mysql -h 主库IP -u repl -P 3306 -p 能登录说明网络与账号正常。

四 验证与常见问题

  • 验证:在主库创建库/表/数据,在从库 SELECT 验证是否实时同步;也可再次执行 SHOW SLAVE STATUS\G 观察 Seconds_Behind_Master 是否收敛。
  • 常见故障排查:
    • 认证或网络失败:核对复制账号、密码、来源 IP 与 3306 连通性;bind-address 与安全组/防火墙策略是否正确。
    • 位点不匹配:确认 CHANGE MASTER TO 使用的 File/Position 来自主库 SHOW MASTER STATUS 的当前值;必要时重新导入一致性备份后设置起点。
    • 从库落后或中断:查看错误日志与 SHOW SLAVE STATUS\GLast_Error/Last_SQL_Error;修复后 START SLAVE; 继续。
    • 已有数据未同步:未做一致性快照或未导入备份会导致从库缺失数据,需补做备份导入并校准位点。

五 进阶与扩展

  • 基于 GTID 的复制(推荐,便于故障切换与一致性):
    • 主从配置 server-id,主库启用 log-bin;从库执行:
      • CHANGE MASTER TO ... , MASTER_USE_GTID=slave_pos;
      • START SLAVE;
    • 状态检查同样关注 Slave_IO_Running/Slave_SQL_RunningYes
  • 一主多从:为多台从库分别创建复制账号,重复“从库配置”步骤即可横向扩展读能力。
  • 多主一从(多通道):MariaDB 支持命名通道的多源复制,例如:
    • CHANGE MASTER 'r1' TO ... ;
    • CHANGE MASTER 'r2' TO ... ;
    • 使用 SHOW ALL SLAVES STATUS\G 查看各通道状态。
  • 双主复制要点:双向 server-id 唯一、各自开启 log-bin 与必要的 log-slave-updates,并通过 auto_increment_increment/auto_increment_offset 避免主键冲突。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian MariaDB主从复制配置步骤
本文地址: https://pptw.com/jishu/753731.html
ubuntu informix资源限制设置 ubuntu informix并发控制策略

游客 回复需填写必要信息