没有数据库前缀的mysqlpump

时间:2017-12-08 10:55:00

标签: mysql

工具mysqlpump使用数据库名称预先设置每个表操作,如下所示:

INSERT INTO `database`.`table` --

这使得出口在使用上相当有限。 有没有办法跳过数据库前缀?这是有道理的,因为我观察了很多情况,它是一个限制而不是一个功能。

尝试过的解决方法:

我没有想出一个理智的方法来做这件事,我在导出时尝试了一个肮脏的sed黑客攻击:

sed -e "s/\`$DB\`.//g"

这适用于小型出口。但是,在更复杂的数据库上,这最终会导致错误。显然,反向勾选的数据库不能可靠地用作专门用作语句前缀的字符串。

另见:

1 个答案:

答案 0 :(得分:0)

您在mysqldump使用哪些选项?默认情况下,表名前没有数据库名称前缀。   例如。 mysqldump -uxx -pxxx -h xxx -P xxx --all-databases > db.sql
  mysqldump -uxx -pxxx -h xxx -P xxx db table > table.sql