在 MySQL 主从同步配置中,启动命令本身并不直接完成主从设置,而是通过配置文件和 SQL 命令配合实现。主从同步的“启动”实际上是配置好主库和从库后,使用 START SLAVE 命令开启复制进程。以下是完整的主从同步配置流程。
1. 主库(Master)配置
要启用主从同步,首先要确保主库已开启二进制日志(binary log)并设置唯一的 server-id。
编辑主库配置文件(通常是 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf):[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
systemctl restart mysql 登录 MySQL 创建用于复制的账号:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
2. 从库(Slave)配置
从库也需要设置唯一的 server-id,并建议开启 relay-log。
编辑从库配置文件:[mysqld]
server-id = 2
relay-log = mysql-relay-bin
systemctl restart mysql 登录 MySQL,执行 CHANGE MASTER TO 命令连接主库:
CHANGE MASTER TO
MASTER_HOST='主库IP',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 154;
3. 启动从库复制进程
配置完成后,使用以下命令启动主从同步:
START SLAVE;
查看从库复制状态:SHOW SLAVE STATUS\G
检查以下两个关键字段是否为 Yes: Slave_IO_Running: Yes Slave_SQL_Running: Yes 如果都是 Yes,说明主从同步已正常运行。4. 常见问题处理
若出现错误,可先停止复制:STOP SLAVE; 修正配置或位置后重新执行 CHANGE MASTER TO 并再次启动。 确保主从数据库初始数据一致,可通过 mysqldump 导出主库数据导入从库。
例如导出主库数据:
mysqldump -u root -p --all-databases --master-data > backup.sql
然后将 backup.sql 导入从库,再开始配置复制。
基本上就这些。主从同步不是靠一条“启动命令”完成的,而是配置 + 授权 + 启动复制线程的组合操作。关键是正确设置 server-id、开启 binlog、创建复制用户,并使用 START SLAVE 激活同步。不复杂但容易忽略细节。
