主从数据迁移需先备份主库并记录binlog位置,通过mysqldump导出数据,传输至从库后导入,再配置CHANGE MASTER TO指向主库binlog坐标,最后启动复制并验证状态正常。

MySQL 主从数据迁移通常是在搭建主从复制(Replication)时的关键步骤。目标是将主库的当前数据状态完整同步到从库,确保后续的 binlog 增量复制能正常进行。以下是标准操作流程。
使用 mysqldump 工具备份主库所有数据,并记录 binlog 位置:
命令示例:
说明:
- --all-databases:导出所有数据库。
- --master-data=2:在 dump 文件中写入 CHANGE MASTER TO 所需的 binlog 文件名和位置(注释形式),用于从库定位复制起点。
- --single-transaction:保证一致性,适用于 InnoDB,避免锁表。
- --routines --triggers --events:包含存储过程、触发器、事件调度。
使用 scp 或 rsync 等工具把 backup.sql 发送到从库服务器:
登录从库 MySQL,执行导入:
导入过程会重建所有数据库和表结构及数据,保持与主库一致。
进入从库 MySQL 命令行,执行 CHANGE MASTER TO 命令。
先从 backup.sql 中提取 binlog 信息:
输出类似:
根据该信息配置从库:
执行启动命令:
查看复制状态:
重点关注:
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- Last_Error: 应为空
主库需开启 binlog 并设置唯一 server-id:
从库配置:
(不能与主库相同)
确保主库有用于复制的用户:
基本上就这些,只要备份时获取了正确的 binlog 位置,从库导入后就能顺利衔接主库的增量更新。
以上就是mysql如何迁移主库数据到从库的详细内容,更多请关注php中文网其它相关文章!