跑了几年的网站, 没有源码. 现在是想把数据想同步出来, 然后逐个表 delete * from table where date<2018 ?
现在是担心复制太慢, 删除太慢. 在生产环境做的话要很久, 在备份做这个操作会不会比较好? 不过备份做的话还要再同步一次最新数据?
请问在座各位有没有什么建议
1
loading 2020-01-16 18:30:59 +08:00 via Android
写个脚本慢慢删不行吗?求快很容易出事。
|
2
monsterxx03 2020-01-16 18:34:20 +08:00
建个新表, 把要保留的数据 select 进去, drop 老表, rename 新表
|
3
tomczhen 2020-01-16 18:36:35 +08:00 via Android
先看看数据库文件大小里面日志大小占多大比例。
|
4
lovelife1994 2020-01-16 18:40:10 +08:00 via iPhone
新的数据通过 mq binlog 之类的同步,旧的数据通过 job 分批迁移。
|
5
CallMeReznov 2020-01-16 19:17:31 +08:00
啥网站能有一个 T 的数据?
听 2 楼的,你看是不是日志从来没有截断收缩过噢! |
6
MozzieW OP @loading 数据库不熟啊, 平时没接触. 就是怕快可能出事
@monsterxx03 @tomczhen 非常好的建议, 谢谢 @lovelife1994 我了解一下 mp binlog , 谢谢 @CallMeReznov 网站是个简单说法, 已经跑了好几年的系统了. 怀疑里面放图片或文件了? 不然纯文本很难这么大才对是吧 |