mysqldump不会在SQL文件中创建“CREATE / DROP”语句

时间:2017-01-11 12:12:58

标签: mysql

去年我编写了一个脚本来执行MySQL服务器的转储,如果在数据丢失或需要在本地工作时需要恢复数据,则会将其备份到S3最新数据的网站副本。

我遇到的问题是mysqldump命令生成的SQL文件不会生成任何数据库创建语句。因此,每当我需要使用SQL文件时,我必须手动添加它们,或者在导入它们之前添加USE db_name;。但是对于一个数据库来说这是有问题的,其中SQL文件的大小超过3GB。

我所在的命令位于PHP脚本中,然后通过cronjob触发。 PHP脚本中的命令是:

mysqldump --add-drop-database --user=USER --password=PASSWORD --host=localhost DB_NAME > DB_NAME.sql

我使用的是MySQL 5.5.47版,但即使通过服务器上的命令行输入上述命令,也不包含任何CREATE或DROP DATABASE语句。

有关如何做的任何建议?

1 个答案:

答案 0 :(得分:2)

看起来如果你添加

--databases yourdatabasename你的陈述可能会解决这个问题吗?