暂无图片
MySQL 60G的“大表”,怎么对其创备份表 a -> a_bak?
我来答
分享
暂无图片 匿名用户
MySQL 60G的“大表”,怎么对其创备份表 a -> a_bak?

MySQL 60G的“大表”,怎么对其创备份表 a -> a_bak?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
shunwahⓂ️

可以用mysqldump
mysqldump -h IP -P 端口 -u用户 -p密码 库名 表名 > /路径/表名.{$date}.bak

暂无图片 评论
暂无图片 有用 0
暂无图片
张sir

如果觉得mysqldump比较慢,可以考虑mydumper,可以并行备份:

mydumper -u root -p root -h localhost -B wordpress -T wp_posts -m -o /var/backup/wordpress-01


https://www.cnblogs.com/xibuhaohao/p/10796608.html

暂无图片 评论
暂无图片 有用 0
严少安
暂无图片

将表a的Tablespace discard,复制表看空间文件,
新建空表a_bak, 再import Tablespace。

暂无图片 评论
暂无图片 有用 1
农夫三拳

1、创建a_bak表结构   create table a_bak like a;
2、执行alter table a_bak discard tablespace; 此时a_bak.ibd会被删除
3、执行flush table a for export;此时会生成一个a.cfg文件
4、拷贝a.ibd,a.cfg,注意权限,chown

cp a.cfg a_bak.cfg 

cp a.ibd a_bak.ibd
5、unlock tables,这时候a.cfg会被删除
6、执行alter table a_bak import tablespace;将a_bak.ibd作为a_bak新的表空间,数据和a_bak也是相同的。

暂无图片 评论
暂无图片 有用 1
张凡
2022-11-22
要是主从复制环境下,这个操作就会麻烦一些了,还需要考虑从节点那边操作一遍。
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏