工具mysqlpump
使用数据库名称预先设置每个表操作,如下所示:
INSERT INTO `database`.`table` --
这使得出口在使用上相当有限。 有没有办法跳过数据库前缀?这是有道理的,因为我观察了很多情况,它是一个限制而不是一个功能。
我没有想出一个理智的方法来做这件事,我在导出时尝试了一个肮脏的sed
黑客攻击:
sed -e "s/\`$DB\`.//g"
这适用于小型出口。但是,在更复杂的数据库上,这最终会导致错误。显然,反向勾选的数据库不能可靠地用作专门用作语句前缀的字符串。
答案 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