通配符备份 MySQL 数据库

通配符备份 MySQL 数据库

网上有很多关于如何基于通配符进行备份的讨论table name,但是通配符怎么样database name

例如

如果我有数据库名为

foo1
foo2
foo3
 .
 .
fooN
bar1

我只想备份带有前缀的名称的数据库foo,可以吗?

答案1

您从数据库tables中的表中选择数据库名称information_schema。您可以使用过滤器按前缀进行过滤。使用输出的数据库名称使用 mysqldump 导出。一个实际的例子如下:

mysqldump -u root -pPASSWORD --databases $(
  mysql -uroot -p -N information_schema \
    -e "SELECT DISTINCT(TABLE_SCHEMA)
        FROM tables
        WHERE TABLE_SCHEMA LIKE 'prefix%'"
) > /tmp/backup.sql

相关内容