2012-08-08 73 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