mysqldump迁移数据

数据量在G级别的可以使用mysqldump来迁移,T级别的不建议使用,测试验证6.9G的文件通过mysqldump方式gz后699M,耗时27分钟,压缩率在10倍,30分钟处理7G数据,换算下来一分钟处理238M数据,结论就是如此。恢复的时候速度很快,6.9G的数据恢复具体时间没看,大概不到5分钟时间。以上计算有问题后续更新

查看大表

select 
table_schema as '数据库',
table_name as '表名',
table_rows as '记录数',
truncate(data_length/1024/1024, 2) as '数据容量(MB)',
truncate(index_length/1024/1024, 2) as '索引容量(MB)'
from information_schema.tables
where table_schema='test'
order by data_length desc, index_length desc;

忽略大表压缩

很多大表都是日志表这种特殊处理
-B 带上生成的脚本会操作库信息,库不存在会创建,方便在命令行使用
不带-B不会操作库信息,方便在工具中使用,建议手动创建数据库

mysqldump -uroot -p'1234567890' -B test 
--ignore-table=test.table1
--ignore-table=test.table2
--ignore-table=test.table3
--ignore-table=test.table4|gzip 
>/data/test$(date +%Y-%m-%d-%H-%M-%S).sql.gz &

备份单个表

不能加-B加了就不是单个表了

mysqldump -uroot -p'12345643' test table|gzip >/data/table$(date +%Y-%m-%d-%H-%M-%S).sql.gz

迁移拷贝

scp备份后的sql.gz文件

scp -P 22 ./test.sql.gz appuser@10.232343.191.56:/data

登录主机

ssh -p 22 root@10.232343.191.56

解压

zcat 保留原文件
gunzip不保留原文件
两种方式都可以

zcat /data/test.sql.gz >/data/test.sql
gunzip /data/test.sql.gz

恢复

备份的时候用-B,也可以不手动建数据库,保险起见都建了

#建库
CREATE DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
#恢复
mysql -uroot -p'1234567890' </data/test.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值