7分钟

任务 4 将主库数据导入到备库

任务目的

在master主库上创建测试库表,用于模拟生产环境下原有的数据。然后记录当前主库的binlog日志和偏移量,利用mysqldump命令对主库进行备份后,在备库上进行还原恢复,完成主库和备库数据的初始化。

任务步骤

  • 在主库上创建测试库表。
CREATE DATABASE dbtest;      #创建dbtest数据库

USE dbtest;      #选择dbtest数据库

CREATE TABLE tbtest(id INT,name CHAR(20));      #创建数据表tbtest

INSERT INTO tbtest VALUES(123,'Lily');      #插入测试数据
4-4-1 在主库创建测试库表
  • 为了保证binlog日志偏移量与备份一致,需要先使用命令给MySQL数据库加全局锁,加锁期间数据库表可以读,但是不可以发生更改。
FLUSH TABLES WITH READ LOCK;
4-4-2 加全局锁
  • 然后使用show命令查看主库当前的binlog日志偏移量,后续在备库配置复制链路时需要使用。
SHOW MASTER STATUS;
4-4-3 记录主库日志偏移量
  • 主库上加全局锁的会话窗口保持不变,然后打开一个新的会话窗口,在新的会话窗口上通过mysqldump命令对主库进行全库备份。此操作是为了保证binlog日志偏移量与备份一致。
mysqldump -hlocalhost -P3306 -uroot -p'<root用户密码>' --all-databases --single-transaction > /root/full.bak
4-4-4 备份主库数据
  • 备份结束后需要使用命令释放全局锁。
UNLOCK tables;
4-4-5 释放全局锁.png
  • 退出主库MySQL,在主服务器上使用scp将备份发送到从服务器上,然后进行还原恢复,IP地址可在控制台云服务器实例页面查看。
scp /root/full.bak <从服务器IP>:/root/full.bak
4-4-6 将备份发送到从服务器
  • 登录从库MySQL,使用SOURCE命令还原恢复。
SOURCE /root/full.bak
4-4-7 备库执行还原恢复