我正在使用以下命令语法:
mysqldump -u<username> -p<password> --no-create-db --databases mydatabase > /var/backups_DB/MyDatabase-$(date +"%d-%m-%Y-%H:%M:%S").sql
但是我找不到如何防止在生成的文件中插入"使用 mydatabase"行。 我应该使用哪个选项?
没错。删除--databases
...
https://www.computerhope.com/unix/mysqldum.htm
--数据库
-B
转储多个数据库。通常,mysqldump 将命令行上的第一个名称参数视为数据库名称,并将以下名称视为表名。使用此选项,它将所有名称参数视为数据库名称。CREATE DATABASE 和 USE 语句包含在每个新数据库之前的输出中。
正如@wchiquito在评论中所说,为了避免在转储文件中出现" USE databasename
"语句,您必须删除--databases
选项。
如果您没有选择,可以在之后使用 Unix sed 命令将其删除:
cat sourcefile.sql | sed '/USE `databasename`;/d' > destfile.sql
托马斯