2012-08-08 70 views
1

我有備份通過cron作業每天晚上大MySQL數據庫:mysqldump的文件導入緩慢相比,phpMyAdmin的文件

/usr/bin/mysqldump --opt USERNAME -e -h SERVERNAME -uUSER -pPASSWORD > /home/DIRECTORY/backup.sql 

它運作良好 - 除非我去「恢復」的sql文件在另一臺服務器上 - 它需要很長時間(大約3分鐘)

這與使用phpMyAdmin相反 - 如果我「導出」並導出相同的mySQL數據庫,然後將該sql文件導入另一臺服務器10秒。

問題:我該如何讓「mysqldump」創建與「phpMyAdmin」相同類型的sql文件?一些FAST SQL版本

實施例(不是所有的話):

CREATE TABLE IF NOT EXISTS `absence_type` (
    `absence_type_ID` int(16) NOT NULL AUTO_INCREMENT, 
    `name` varchar(30) COLLATE utf8_unicode_ci NOT NULL, 
    PRIMARY KEY (`absence_type_ID`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=14 ; 

-- 
-- Dumping data for table `absence_type` 
-- 

INSERT INTO `absence_type` (`absence_type_ID`, `name`) VALUES 
(1, 'Sick Leave'), 
(2, 'Personal Carers'), 
(3, 'Other'); 

一些SLOW SQL版本實施例(不是所有的話):

 -- 
    -- Table structure for table `absence_type` 
    -- 

    DROP TABLE IF EXISTS `absence_type`; 
    /*!40101 SET @saved_cs_client  = @@character_set_client */; 
    /*!40101 SET character_set_client = utf8 */; 
    CREATE TABLE `absence_type` (
     `absence_type_ID` int(16) NOT NULL AUTO_INCREMENT, 
     `name` varchar(30) COLLATE utf8_unicode_ci NOT NULL, 
     PRIMARY KEY (`absence_type_ID`) 
    ) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 
    /*!40101 SET character_set_client = @saved_cs_client */; 

    -- 
    -- Dumping data for table `absence_type` 
    -- 

    LOCK TABLES `absence_type` WRITE; 
    /*!40000 ALTER TABLE `absence_type` DISABLE KEYS */; 
    INSERT INTO `absence_type` VALUES 
(1,'Sick Leave'), 
(2,'Personal Carers'), 
(3,'Other'); 
    /*!40000 ALTER TABLE `absence_type` ENABLE KEYS */; 
    UNLOCK TABLES; 
+1

在PHPMyAdmin中選擇什麼選項 - 下拉表,擴展插入?讓他們匹配,看看你是否仍然有進口時間的差異。 – 2012-08-08 04:54:04

+0

謝謝@JasonMcCreary - 我只是選擇從PHPMyAdmin「快速導出」 - 沒有選擇嗎? – Laurence 2012-08-08 04:56:20

+1

這意味着您正在使用默認選項。你爲什麼不比較這兩個文件?我確定有一些明顯的東西 - 文件大小,INSERT語句等等。 – 2012-08-08 04:57:26

回答

1

從我的意見...

可能mysqldump和PHPMyAdmin導出之間的選項不匹配。例如,包含DROP TABLE,擴展INSERT

我建議比較這兩個文件。我確定有一些明顯的東西。然後調整選項mysqldump或PHPMyAdmin。要麼應該工作,因爲後者使用下面的mysqldump