mysqlpump 没有数据库前缀

Red*_*dro 6 mysql

该工具mysqlpump在每个表操作前面加上数据库名称,如下所示:

INSERT INTO `database`.`table` --
Run Code Online (Sandbox Code Playgroud)

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

尝试过的解决方法:

由于没有找到一个明智的方法来做到这一点,我sed在导出上尝试了一个肮脏的黑客:

sed -e "s/\`$DB\`.//g"
Run Code Online (Sandbox Code Playgroud)

这对于小额出口非常有效。然而,在更复杂的数据库上,这最终会导致错误。显然,反引号数据库不能可靠地用作专门用作语句前缀的字符串。

也可以看看:

小智 -1

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

  • 我没有使用“mysqldump”。我正在使用新的和改进的“mysqlpump”。我认为您不小心读到了 __d__ 而不是 __p__。 (2认同)