第一步、从主库导出数据
使用 Xtrabackup 创建全量备份:
#!/bin/sh xtrabackup --backup --user=root --password --target-dir=/data/backups/
对全量备份数据进行预备操作:
#!/bin/sh xtrabackup --prepare --target-dir=/data/backups/
第二步、将数据导入从库
数据导入:将数据复制到目标主机,将数据导入 MySQL 数据目录(详细过程略过)。
调整权限:修改数据目录权限,以允许 MySQL 访问。
启动服务:启动数据库服务,并检查 MySQL 能够成功启动。
其他方法:使用 mysqldump 导出
锁定所有的表,防止数据更新:
mysql> FLUSH TABLES WITH READ LOCK;
查看在主库中 binlog 位置(这是从库复制开始的位置,需要记住这些数字):
mysql> SHOW MASTER STATUS; +---------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +---------------+----------+--------------+------------------+-------------------+ | binlog.000001 | 497120 | | | | +---------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
使用 mysqldump 命令导出数据,并导入从库中(详细过程略过)。
解锁之前锁定的表,以允许数据写入:
mysql> UNLOCK TABLES;
参考文献
How To Set Up Master Slave Replication in MySQL