使用mydumper流式传输MySQL数据
Kabilesh P R [hudson译]
2022年9月22日
Mydumper从版本0.11.3和最新版本Mydumper0.12.3 开始开始支持流式备份,它允许压缩流备份。这是Mydumper最值得期待的特性,使其成为一个更强大的将数据迁移到RDS或云的工具。

如果你是第一次听到mydumper,那么让我们快速了解一下mydumper是什么,它到底做了什么。
Mydumper是MySQL及其分支的多线程逻辑备份和恢复工具。要了解更多信息,请参阅下面我们以前的博客/演示文稿。
在这篇博客中,我们将简短地讨论这个流处理过程是如何工作的,以及如何获得所需的输出。
1.如何工作?
2.如何使用?
3.关键要点:
如何工作?
流的工作非常简单
- Mydumper线程从源数据库读取数据并并行写入文件系统。
- 现在,mydumper流线程将这些文件逐个排队,并将它们通过管道传输到标准输出。
- Myloader流读取它们并写入其本地文件系统。
- 现在,myloader线程通过维护thread_id序列,将它们在目标系统上并行恢复。
如何使用
下面是我在生产用例中使用的工作命令,用于使用流将表还原到RDS。
mydumper -t 6 -u mydbops --password='XXXXXXX' -h localhost -P 3306 --compress -o /mysql/logs/backup -B 'testdb' -T 'testdb.member --stream | myloader --threads=4 -u admin --password='XXXXX' -h 'mydbops-stg.bvbkjkuliuie.ap-south-1.rds.amazonaws.com' -P 3308 -v 4 -d /mysql/logs/restore -o -B ‘testdb’ --stream
–stream:mydumper表示创建的文件需要通过STDOUT流式传输。
–stream:myloader将创建一个线程来读取流并在本地创建文件
–不删除:在本地保留源和目标中的文件,这是可选的
默认情况下,一旦文件从源成功传输,它将立即被删除,同样,在目的地,一旦应用流文件,它将从其文件系统中删除,以避免在迁移大量数据时文件备份期间的高磁盘利用率。
Logs:
** Message: 12:11:12.002: File backup/testdb-member-create.sql.gz transfered | Global: 0 MB/s
** Message: 12:11:12.003: Thread 3 dumping schema for `testdb`.`member`
** Message: 12:11:12.003: Thread 4 dumping data for`testdb`.`member`| Remaining jobs: -3
** Message: 12:11:12.003: Opening: backup/testdb-member-schema.sql.gz
** Message: 12:11:12.003: File backup/testdb-member-schema.sql.gz transfered | Global: 0 MB/s
** Message: 12:11:12.064: Non-InnoDB dump complete, unlocking tables
** Message: 12:11:12.064: Shutdown jobs enqueued
** Message: 12:27:54.912: Finished dump at: 2022-06-09 12:27:54
** Message: 12:27:54.913: Removing file: /mysql/logs/restore/restore/testdb-member-schema.sql.gz
** Message: 12:27:54.914: Thread 4 restoring table `testdb`.`member` from
** Message: 12:27:56.433: Removing file: /mysql/logs/restore/restore/testdb-member.00000.sql.gz
** Message: 12:27:56.434: Shutting down stream thread 2
** Message: 12:27:56.434: Starting table checksum verification
关键要点:
- 通过流,Mydumper被认为是一种简单快捷的数据迁移方法。
- 通过自动清除备份文件,磁盘利用率始终可控。
