如何从mysql的备份sql文本里按CREATE?
这个解析不好弄,其实可以换一种思路,把所有的表名全查出来,然后在按表名生成导出脚本,生成的文件就一个表一个了。
shell样例如下,仅供参考,请在自己测试环境下测试。脚本可以包装在一个大的shell里面一起执行。
一、生成所有的表名
mysql<<EOF
use cpai;
show tables;
quit
EOF
输入结果保持到tmp.txt
二、生成导出单个表数据的脚本
awk 'NR>1' tmp.txt >tables.txt #从第二行开始取
cat tables.txt |awk '{printf "mysqldump 数据库名 %s >%s.sql\n",$1,$1}' >mysql_dump_sig.sh
三、执行mysql_dump_sig.sh脚本,既可以导出一个个表到单独的每个文件里面。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有