7.1.1. 导出导入
场景:在测试的时候需要从线上导出部分表,并导入到测试库中。本章记录了下这个实施过程
7.1.1.1. 在线上导出需要的表
登录源数据库所在服务器执行以下命令
# 先查看机器上哪个磁盘空间最大,然后把导出的放到最大的磁盘上面去
df -TH
# 使用mysqldump导出需要的表到指定路径中的sql中,然后等待完成,数据量大会等待久一点
# 测试中18g数据差不多10分钟左右
mysqldump -uroot -pdbpasswd dbname 表名 表名 表名 > xxxx.sql
7.1.1.2. 导入数据库
主要使用以下命令
# 优先推荐这个命令,一般dba和网上教程都用这个,后面加 “&” 表示后台执行
mysql -uroot -pdbpasswd dbname < /data/tb_sit.sql &
# 该命令也是,但是用的人不多不知道是什么原因,这里如果不加“&”会在中断打印sql执行信息
mysqldump -uroot -pdbpasswd dbname < /data/tb_sit.sql &
7.1.1.2.1. 同服务器导入
直接使用上面的命令就ok了
7.1.1.2.2. 不同服务器导入
先执行压缩打包,并scp到目标服务器,再解压后,执行导入命令
tar -cvzf xxx.tar.gz xxx.sql
scp xxx.tar.gz root@www.cumt.edu.cn:/data
tar -xzvf /data/xxx.tar.gz
7.1.1. 查看数据库中进度信息
# 登录mysql
mysql -uroot -pdbpasswd
# 执行显示进度命令
show processlist;
会显示一个列表,查看刚才导入的库在info栏里面寻找INSERT相关信息。就能看到当前正在执行的sql了