首页 > 技术文章 > 如何备份mysql表中以特定字母开头的表

yaoyong0214 2022-01-11 14:21 原文

有这么一个场景:

  我有2 GB的大容量数据在MySQL服务器上,我想得到它的备份。如何让mysql备份表以特定字母开头?

  我尝试使用mysqldump -u root newspress > /tmp/newspress.sql

  但是从服务器下载到我的本地机器要花很长的时间。所以我想获得数据库中的特定表格starts with J

  比如:Jobseeker, Jobs, Joncategory...等,该怎么办呢?

下面的脚本将选择所有表以“M”,并将它们转储到当前目录下一个名为database.table.sql文件(例如:test.employees.sql):

DB="test" 
TABLES=`mysql -uroot -BN -e "SHOW TABLES FROM $DB LIKE 'm%'"` 
for TABLE in $TABLES; 
do 
    mysqldump -uroot $DB $TABLE > $DB.$TABLE.sql; 
don

注意,要减少mysqldump生成备份的大小,你可以压缩它:

shell> mysqldump -u root newspress > /tmp/newspress.sql 
shell> gzip /tmp/newspress.sql 

2GB的转储将减少到一个相当小的尺寸。

 

推荐阅读