debian

mysql数据同步debian技巧

小樊
35
2025-04-26 02:24:09
栏目: 云计算

在Debian系统上实现MySQL数据同步的技巧主要包括使用MySQL的主从复制功能。以下是一个基本的步骤指南:

  1. 配置主服务器
[mysqld]
server-id=1  # 主服务器的唯一标识
log-bin=mysql-bin  # 启用二进制日志
binlog_format=ROW  # 使用ROW格式的二进制日志,记录数据变更
sudo systemctl restart mysql
CREATE USER 'replica'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;

记下 FilePosition 的值,稍后在配置从服务器时会用到。

  1. 配置从服务器
[mysqld]
server-id=2  # 从服务器的唯一标识
relay-log=mysql-relay-bin  # 启用中继日志
log_slave_updates=1  # 从服务器上的更新也记录到自己的二进制日志中
read_only=1  # 从服务器默认只读,防止数据被修改
sudo systemctl restart mysql
CHANGE MASTER TO
    MASTER_HOST='主服务器IP',
    MASTER_USER='replica',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000001',  # 使用之前获取的文件名
    MASTER_LOG_POS=123;  # 使用之前获取的位置
START SLAVE;
  1. 验证同步状态
SHOW SLAVE STATUS\G;

确保 Slave_IO_RunningSlave_SQL_Running 都是 Yes,表示同步正常进行。

  1. 处理同步问题
mysql -uroot -p test < /path/to/master.sql
STOP SLAVE;
CHANGE MASTER TO
    MASTER_HOST='主服务器IP',
    MASTER_USER='replica',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000002',  # 使用新的文件名
    MASTER_LOG_POS=新的位置;
START SLAVE;
  1. 监控和维护

0
看了该问题的人还看了