mydumper 和 mysqlpump 在特定场景下会有些限制,于是自己用 python 封装 mysqldump ,实现以多线程的方式导出库表的操作,再以 mysql 命令多线程导入新库,用于成倍加快导出,特别是导入的速度。这一切只需要在 mysqldump 或 mysql 命令前面加上 mypumpkin.py 即可。
Github 项目地址 https://github.com/seanlook/mypumpkin
介绍和使用见 http://seanlook.com/2016/11/17/python-mysqldump-out-in-concurrency-magic/
1
xi_lin 2016-12-01 13:15:02 +08:00
赞
|
2
veelog 2016-12-01 13:18:16 +08:00 via Android
有没有可以限制 mysqldump 速度的??现在执行 sqldump 整个数据库操作非常慢
|
3
seanlook OP @veelog 限流这个倒蛮新颖的,我这个工具一开起来基本上能把带宽或磁盘打满,源数据库 IO 会特别高。
mydumper 可以做到表上的多并发,可以每次 select chunk sleep 几毫秒来实现... |
5
julyclyde 2016-12-02 15:34:22 +08:00
限流(不基于数据语义)可以用 pv 工具
|