情景:我有上百张以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导出以H开头的表-LMLPHP

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

MySQL导出以H开头的表-LMLPHP

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

MySQL导出以H开头的表-LMLPHP

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

MySQL导出以H开头的表-LMLPHP

H1 H2  H3  H4  H5

complete!

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

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

05-04 06:09