mysqldump 选项 --tab=path
将每个表的创建脚本写在一个单独的文件中。但是我找不到存储过程,除了在屏幕转储中。
我需要将存储过程也放在单独的文件中。
我目前正在研究的解决方案是以编程方式拆分屏幕转储。有没有更简单的方法?
目前我使用的代码是:
#save all routines to a single file
mysqldump -p$PASSWORD --routines --skip-dump-date --no-create-info --no-data --skip-opt $DATABASE > $BACKUP_PATH/$DATABASE.sql
#save each table to its file
mysqldump -p$PASSWORD --tab=$BACKUP_PATH --skip-dump-date --no-data --skip-opt $DATABASE
即使我在第二个命令中添加--routines
,他们也不会得到他们自己的文件。
最佳答案
我创建了一个脚本来输出到一个单独的文件。
https://gist.github.com/temmings/c6599ff6a04738185596
示例:mysqldump ${DATABASE} --routines --no-create-info --no-data --no-create-db --compact | ./seperate.pl
文件输出到目录(out/)。
$树
.
└──出
├── FUNCTION.EXAMPLE_FUNCTION.sql
└── PROCEDURE.EXAMPLE_PROCEDURE.sql
关于mysql - 如何用mysqldump写存储过程来分隔文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2721327/