原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。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的语法了。

 

wKioL1do6fqCjujBAABemvKTDsM209.jpg-wh_50

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

 

 

wKiom1do6fvScBrkAABoDH3GCpU885.jpg-wh_50

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

 

 

wKioL1do6fuxYNKWAADMWON5aco922.jpg-wh_50

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

 

 

wKioL1do6fuCVOA8AABaeWRoz3k097.jpg-wh_50

 

 

 H1 H2  H3  H4  H5

 

complete!

 

 

 

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

 

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

posted on 2016-09-13 11:41  岁伏  阅读(1801)  评论(0编辑  收藏  举报