2011-06-12 95 views
1

我遇到從轉儲文件還原時遇到問題。如果轉儲文件不存在,轉儲文件可以選擇構建數據庫。那麼爲什麼下面的腳本只有當我有數據庫時才起作用。從轉儲文件還原mysql數據庫未知數據庫錯誤

的mysql -u根-p1234 modal_db < C:\ WAMP \ db_backups \ modal_db \ mdb.sql

這裏的轉儲文件

-- MySQL dump 10.13 Distrib 5.5.8, for Win32 (x86) 
-- 
-- Host: localhost Database: modal_db 
-- ------------------------------------------------------ 
-- Server version 5.5.8-log 

/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 
/*!40103 SET @[email protected]@TIME_ZONE */; 
/*!40103 SET TIME_ZONE='+00:00' */; 
/*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; 
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 
/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 
/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */; 

-- 
-- Current Database: `modal_db` 
-- 

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `modal_db` /*!40100 DEFAULT CHARACTER SET latin1 */; 

USE `modal_db`; 

-- 
-- Table structure for table `user_info` 
-- 

DROP TABLE IF EXISTS `user_info`; 
/*!40101 SET @saved_cs_client  = @@character_set_client */; 
/*!40101 SET character_set_client = utf8 */; 
CREATE TABLE `user_info` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(30) NOT NULL, 
    `email` varchar(30) NOT NULL, 
    `password` varchar(30) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1; 
/*!40101 SET character_set_client = @saved_cs_client */; 

-- 
-- Dumping data for table `user_info` 
-- 

LOCK TABLES `user_info` WRITE; 
/*!40000 ALTER TABLE `user_info` DISABLE KEYS */; 
INSERT INTO `user_info` VALUES (1,'[object Object]','[object Object]','[object Object]'),(2,'amaya','[email protected]','neato'),(3,'yoh','[email protected]','ff2cbe54328162379ba1baf57b23f9'),(4,'fure','[email protected]','263bce650e68ab4e23f28263760b9f'),(5,'koroja','[email protected]','665b3a3829375f4acbb00858299a08'),(6,'maro','[email protected]','2f66aed2714edaa599e148990c9d16'),(7,'deg','[email protected]','n'),(8,'mario','[email protected]','c1210473c214e0cf5968bf147ed079'),(9,'mizuo','[email protected]','n'),(10,'bakuryu','[email protected]','b'),(11,'maron','[email protected]','m'),(12,'gatou','[email protected]','g'),(13,'mocha','[email protected]','mo'),(14,'pizza','[email protected]','gm'),(15,'bbq','[email protected]','food'),(16,'salad','[email protected]','s'); 
/*!40000 ALTER TABLE `user_info` ENABLE KEYS */; 
UNLOCK TABLES; 
/*!40103 SET [email protected]_TIME_ZONE */; 

/*!40101 SET [email protected]_SQL_MODE */; 
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */; 
/*!40014 SET [email protected]_UNIQUE_CHECKS */; 
/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; 
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; 
/*!40101 SET [email protected]_COLLATION_CONNECTION */; 
/*!40111 SET [email protected]_SQL_NOTES */; 

-- Dump completed on 2011-06-12 21:53:48 

請幫助。如何恢復數據庫已刪除?

回答

3

您的MySQL命令行試圖選擇一個數據庫,如果該數據庫不存在,該數據庫將失敗。你可以從你的命令行參數中省略這個參數,因爲SQL文件本身是用USE選擇一個數據庫本身。

嘗試:

mysql -u root -p1234 < c:\wamp\db_backups\modal_db\mdb.sql 
+0

它的工作在命令行,但是當我用一個批處理文件,我沒有得到期望的結果。 – 2011-06-13 13:24:15

+0

這可能是一個路徑問題(確保爲mysql可執行文件和數據庫文件使用絕對路徑)。你有任何錯誤? – Tak 2011-06-13 13:27:22

+0

路徑存在。我只是不知道它爲什麼似乎在循環,但它什麼也沒做。 – 2011-06-14 12:41:07