去年我编写了一个脚本来执行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语句。
有关如何做的任何建议?
答案 0 :(得分:2)
看起来如果你添加
--databases yourdatabasename
你的陈述可能会解决这个问题吗?