![1a8eff58b6d9872b6cb0bbf8f4f2d151.png](https://img-blog.csdnimg.cn/img_convert/1a8eff58b6d9872b6cb0bbf8f4f2d151.png)
问题
我有个大的 SQL 文件要回放,需要马上做,但又怕压死业务,怎么办?
实验
先来建一个测试库:![f48b68234cc845f4d9ff2a3b76353783.png](https://img-blog.csdnimg.cn/img_convert/f48b68234cc845f4d9ff2a3b76353783.png)
塞一些数据进去:
看看我们塞数据的成果:
使用 mysqldump 导出一份数据:
现在我们假设要把这个 dump 文件,回放到一个数据库中,并且现在数据库正在承担很重的业务,我们不希望业务受到太大影响。
先来看看如果直接回放 dump 文件,会发生什么?
我们看到 MySQL 的 cpu 会彪起来,
我们换一个方式来回放 dump:
看看 CPU 压力:
可以看到 CPU 已经非常冷静,并且缓慢的处理数据。
?小贴士: pv 工具既可以用于显示文件流的进度,也可以用于文件流的限速。 在本实验中,我们用 PV 来限制 SQL 文件发到 MySQL client 的速度,从而限制 SQL 的回放速度,达到不影响其他业务的效果。相关推荐:
第20问:删除了数据文件, 该往哪个方向逃跑
第19问:MGR 架构,如果一个节点网络不稳,消息缓存会被撑满么?关于 MySQL 的技术内容,你们还有什么想知道的吗?赶紧留言告诉小编吧!