情景:我有上百张以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的语法了。
首先按住alt键实现多列编辑,再输入任意一个字符,我这里用的','
这里用到经常使用的文字编辑器notpad++,选择编辑-行操作-合并行即可
ctrl+f批量替换功能,将','替换为空格
H1 H2 H3 H4 H5
complete!
PS:还可以采用mydumper来实现,mydumper比mysqldump快1倍,且其参数--regex支持正则表达式
本文出自 “岁伏” 博客,请务必保留此出处http://suifu.blog.51cto.com/9167728/1791395