在使用 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
命令。