zzxworld

使用压缩格式备份 MySQL 数据库

在使用 MySQL 数据时,经常会使用 mysqldump 命令来导出线上 MySQL 的数据用作备份或测试。数据量小的时候直接使用这个命令没什么问题,当有几百兆甚至上 G 的数据后,压缩导出数据就很有必要了。

以压缩格式导出 MySQL 数据的命令如下:

mysqldump -uroot -p dbname | gzip > dbname.sql.gz

这里使用了 Linux 的「管道」命令符 |,把 mysqldump 命令输出的原始 SQL 数据转给了 gzip 命令来进行压缩,然后通过 > 符号把压缩后的数据导向指定文件。

导入是导出操作的反向流程,来看看把这个压缩文件导入 MySQL 的操作命令:

gunzip < dbname.sql.gz | mysql -uroot -p dbname

先使用 gunzip 解压文件,并通过管道符 | 把解压后的数据直接转给了 mysql 命令。