原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://suifu.blog.51cto.com/9167728/1852178

情景:我有上百张以H开头的表,我需要备份出这些以H开头的表。  而mysqldump不支持*或者%这种通配符,所以没法实现备份以xx开头的表这种,那么如何快速批量备份出以某字母或数字开头的表呢。

这里算是个小技巧,利用文本编辑器来实现。

[root@HE3~]# mysql -uroot -p -s -e"select table_name from information_schema.tableswhere table_schema='helei' and table_name like'H%'";

Enterpassword:

table_name

H1

H2

H3

H4

H5

MySQLdump的语法是库名[空格]表名[空格]表名[空格]表名,例如:mysqldump -uroot -p helei H1 H2 H3 >helei.sql

这里的关键就在于如何将多列转换为一列并用空格隔开,这样就可以符合mysqldump的语法了。

MySQL批量导出以某数字或字母开头的表-LMLPHP

首先按住alt键实现多列编辑,再输入任意一个字符,我这里用的','

MySQL批量导出以某数字或字母开头的表-LMLPHP

这里用到经常使用的文字编辑器notpad++,选择编辑-行操作-合并行即可

MySQL批量导出以某数字或字母开头的表-LMLPHP

ctrl+f批量替换功能,将','替换为空格

MySQL批量导出以某数字或字母开头的表-LMLPHP

H1 H2  H3  H4  H5

complete!

PS:还可以采用mydumper来实现,mydumper比mysqldump快1倍,且其参数--regex支持正则表达式

本文出自 “岁伏” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1852178

05-11 10:53