解决方法
这个Perl脚本应该做的伎俩.
#!/usr/bin/perl -w # # splitMysqLdump - split MysqLdump file into per-database dump files. use strict; use warnings; my $dbfile; my $dbname = q{}; my $header = q{}; while (<>) { # Beginning of a new database section: # close currently open file and start a new one if (m/-- Current Database\: \`([-\w]+)\`/) { if (defined $dbfile && tell $dbfile != -1) { close $dbfile or die "Could not close file!" } $dbname = $1; open $dbfile,">>","$1_dump.sql" or die "Could not create file!"; print $dbfile $header; print "Writing file $1_dump.sql ...\n"; } if (defined $dbfile && tell $dbfile != -1) { print $dbfile $_; } # Catch dump file header in the beginning # to be printed to each separate dump file. if (! $dbname) { $header .= $_; } } close $dbfile or die "Could not close file!"
./splitMysqLdump < all_databases.sql
原文地址:https://www.jb51.cc/mssql/81616.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。