如何在长参数列表场景下用xargs重定向mysqldump输出至文件?
mysqldump结果重定向至输出文件的方法
基础重定向语法
直接在mysqldump命令末尾添加重定向符号即可,常用两种方式:
- 覆盖写入文件:用
>符号,会替换目标文件原有内容mysqldump -u 用户名 -p 数据库名 > 备份文件.sql - 追加写入文件:用
>>符号,会把备份内容加到目标文件末尾mysqldump -u 用户名 -p 数据库名 >> 备份文件.sql
如果需要压缩备份文件,可结合管道使用gzip:
mysqldump -u 用户名 -p 数据库名 | gzip > 备份文件.sql.gz
针对长参数列表场景的解决方法
针对你遇到的长参数列表执行失败问题,推荐用文件指定导出对象的方式避免参数过长,同时配合重定向:
- 导出多个数据库
创建文本文件(比如db_list.txt),每行写一个要导出的数据库名,然后执行:
mysqldump -u 用户名 -p --databases-file=db_list.txt > 多库备份.sql
- 导出单个数据库下的多个表
创建文本文件(比如table_list.txt),每行写一个要导出的表名,然后执行:
mysqldump -u 用户名 -p 目标数据库名 --tables-file=table_list.txt > 多表备份.sql
额外参数补充
如果需要备份存储过程、触发器等对象,可添加--routines和--triggers参数:
mysqldump -u 用户名 -p --databases-file=db_list.txt --routines --triggers > 含存储过程备份.sql
内容的提问来源于stack exchange,提问作者Abirami Ramkumar
相关产品推荐
相关产品推荐

