Debian MySQL复制基于**主从复制(Master-Slave)**机制,核心组件包括:
/etc/mysql/mysql.conf.d/mysqld.cnf,添加:[mysqld]
server-id=1 # 主服务器唯一ID
log-bin=/var/log/mysql/mysql-bin.log # Binlog路径
binlog-do-db=your_db # 指定复制的数据库(可选)
重启服务:sudo systemctl restart mysql。CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;,记录 File(如mysql-bin.000001)和 Position(如123)。/etc/mysql/mysql.conf.d/mysqld.cnf,添加:[mysqld]
server-id=2 # 从服务器唯一ID(需与主服务器不同)
relay-log=/var/log/mysql/mysql-relay-bin.log
重启服务:sudo systemctl restart mysql。CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='repl_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001', # 替换为之前记录的Binlog文件名
MASTER_LOG_POS=123; # 替换为之前记录的位置
START SLAVE; # 启动复制线程
```。
在从服务器执行:
SHOW SLAVE STATUS\G
检查以下字段:
Slave_IO_Running 和 Slave_SQL_Running 均为 Yes,表示复制正常。Last_IO_Error 或 Last_SQL_Error 定位问题。REPLICATION SLAVE 权限,避免安全隐患。innodb_flush_log_at_trx_commit 参数减少延迟。通过以上步骤,可在Debian系统上快速搭建MySQL主从复制,实现数据冗余和高可用性。