gpt4 book ai didi

mysqldump 仅转储具有特定前缀的数据库

转载 作者:可可西里 更新时间:2023-11-01 08:05:45 25 4
gpt4 key购买 nike

我有大约 100 个不同的数据库,我想用 mysqldump 转储那些以前缀“asd_”开头的数据库

我试过了,但没用:

mysqldump -u[user] -p[pwd] -h [server.url] asd_* --single-transaction > backup.sql

我也试过:

mysqldump -u[user] -p[pwd] -h [server.url] "SHOW DATABASES LIKE 'asd_%'" --single-transaction > backup.sql

但两者都不起作用。

感谢您的帮助。

最佳答案

单独的 mysqldump 不支持表或数据库的通配符。

您必须在一个单独的步骤中生成数据库列表,然后在 mysqldump 命令中使用它。您可以像这样在子命令中组合此步骤:

mysqldump ...options... --databases `mysql -B -N -e "SHOW DATABASES LIKE 'asd\_%'"`

请注意,我必须反斜杠 _ 字符,因为它是 LIKE 的元字符。

我还必须使用 --databases 选项,否则第二个和后续数据库名称将被解释为第一个数据库中的表名称。那是因为 mysqldump 的用法是以下之一:

Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]

关于mysqldump 仅转储具有特定前缀的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26408716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com