mysql如何迁移主库数据到从库

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

mysql如何迁移主库数据到从库

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中文网其它相关文章!