要将mysqldump的输出拆分为较小的文件,可以使用--max-allowed-packet
和--single-transaction
选项。
--max-allowed-packet
选项设置每个查询允许的最大数据包大小。这将确保mysqldump在执行过程中不会因为数据包过大而导致错误。--single-transaction
选项来确保在执行mysqldump时,数据库不会被锁定。这将允许数据库在备份过程中继续运行,从而避免对业务造成影响。具体操作步骤如下:
mysqldump-split
的目录,用于存储拆分后的文件。mysqldump --user=USER --password=PASSWORD --host=HOST --port=PORT --single-transaction --max-allowed-packet=1M --databases DB_NAME | split -b 100M - mysqldump-split/db_name_
其中,USER
、PASSWORD
、HOST
、PORT
和DB_NAME
分别代表MySQL用户名、密码、主机名、端口号和数据库名称。--max-allowed-packet=1M
表示每个查询允许的最大数据包大小为1MB,--single-transaction
表示使用单独的事务来执行备份操作,split -b 100M
表示将备份文件拆分为100MB大小的文件。
tar -czvf db_name_backup.tar.gz mysqldump-split/
这样,您就可以将MySQL数据库备份拆分为较小的文件,并进行压缩存储。
领取专属 10元无门槛券
手把手带您无忧上云