对数据库数据进行备份都是日常的工作(虽然都是自动做的),备份中有一项必备的那就是binglog了。在工作中一般这些备份都会保留一段时间后归档。时间长了归档的数据将会非常大。这时候我们就需要考虑如何存储这些归档的binlog。
将需要归档的 binlog 使用 mysqlbinlog 分析到其他文件,再将文件给压缩。这样空间就能省出好多空间来了。
假设这里我们需要归档的binlog文件名是mysql-bin.000025。
查看mysql-bin.000025文件大小。
1 2 | ll – h – rw – r — — – 1 mysql mysql 700M Apr 2 22 : 00 mysql – bin . 000025 |
使用mysqlbinlog将生成恢复文件
1 | / usr / local / mysql / bin / mysqlbinlog mysql – bin . 000025 > mysql – recover . 000025 |
查看mysql-recover.000025文件大小
1 2 | ll – h mysql – recover . 000025 – rw – r — r — 1 root root 954M Apr 2 23 : 53 mysql – recover . 000025 |
压缩mysql-recover.000025文件
1 2 3 | tar – jcf mysql – recover . 000025.tar.bz2 mysql – recover . 000025 ll – h mysql – recover . 000025.tar.bz2 – rw – r — r — 1 root root 24M Apr 3 00 : 10 mysql – recover . 000025.tar.bz2 |
可以看到压缩后的数据就变成了24M,这比700M的binlog要小30多倍。也可以使用xz去压缩,他的压缩比率比bz2要高好多。如下:
1 2 | ll – h – rw – r — r — 1 root root 14M Apr 3 00 : 15 mysql – recover . 000025.tar.xz |
文章转载来自:trustauth.cn