1

cron ジョブを介して毎晩バックアップする大規模な mySQL データベースがあります。

/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;
4

1 に答える 1

1
于 2012-08-09T15:20:03.187 に答える