2011-11-19 93 views
1

我試圖將數據庫備份還原到新的數據庫,並沒有添加表。我使用MySQL 5.5.17 for MacOSX 10.6(Lion)。mysqldump生成空表

我救了名爲「MyDatabase的」使用下面的命令數據庫:

/usr/local/mysql/bin/mysqldump --add-drop-table --user=root --password=mypass mydatabase > /Users/Me/Desktop/backup.sql 

我試圖恢復至所謂的「臨時」另一個數據庫,使用這個命令:

/usr/local/mysql/bin/mysqldump --verbose --user=root --password=mypass temp < /Users/Me/Desktop/backup.sql 

這裏消息後執行恢復命令:

-- MySQL dump 10.13 Distrib 5.5.17, for osx10.6 (i386) 
-- 
-- Host: localhost Database: temp 
-- ------------------------------------------------------ 
-- Server version 5.5.17 

/*!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 */; 
-- Disconnecting from localhost... 
/*!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-11-19 0:07:09 

回答

1

mysqldump用於創建備份,而不是用於恢復。恢復使用mysqlmysql -u[username] -p[password] [database_name] <path_to_your_backup。數據庫應該提前創建。

此外,您可能需要將--routines添加到mysqldump,默認情況下它不包括存儲過程/函數。

+0

謝謝a1ex07。 – Julien