网上有很多关于如何基于通配符进行备份的讨论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