mysqldump文件 - create table命令未被执行

时间:2014-01-30 20:47:22

标签: mysql backup database-backups database-restore

背景资料

在使用mysql进行备份/恢复时,我注意到已恢复的数据库缺少一堆表。

代码:

要创建转储文件,这是正在使用的命令:

mysqldump --databases widgetdb --master-data -u username -ptest --add-drop-database --extended-insert > /var/test/dump.db

然后我们尝试使用以下命令将数据库还原到其他服务器上:

mysql --user=username--password=test widgetdb < /var/test/dbdump.db

所以我检查了转储文件,并搜索了已恢复数据库中缺少的表。这就是代码的样子:

DROP TABLE IF EXISTS `widget1`;
/*!50001 DROP VIEW IF EXISTS `widget1`*/;
SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
/*!50001 CREATE TABLE `widget1` (
  `id` tinyint NOT NULL,
  `name` tinyint NOT NULL,
  `label` tinyint NOT NULL,
  `objtype_id` tinyint NOT NULL,
  `asset_no` tinyint NOT NULL,
  `has_problems` tinyint NOT NULL,
  `comment` tinyint NOT NULL
) ENGINE=MyISAM */;
SET character_set_client = @saved_cs_client;

我找到了以下帖子:MySQL dump file and commented out lines

这似乎表明注释掉的行仍将运行。在我的情况下,我正在运行高于50001的mysql版本5.5.35 ... 但是,当我恢复转储文件时,不会为我创建表。

我到目前为止所做的一切:

我尝试更改命令用来创建转储文件,以便我使用--opt选项尝试使用“默认值”。恢复的数据库仍然缺少表。

0 个答案:

没有答案