Mysql

如何從 MariaDB 10.1 恢復轉儲到 MySQL 5.5

  • January 30, 2019

我使用mysqldump.exe -u root --all-databases > mariaDbBackup.sql.

當我嘗試通過做來恢復我的轉儲時mysql -u root -p < mariaDbBackup.sql,我得到一個

Error 1064 (42000)靠近'STATS_PERSISTENT=0'

這是故障線:

CREATE TABLE `engine_cost` (
 `engine_name` varchar(64) NOT NULL,
 `device_type` int(11) NOT NULL,
 `cost_name` varchar(64) NOT NULL,
 `cost_value` float DEFAULT NULL,
 `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 `comment` varchar(1024) DEFAULT NULL,
 PRIMARY KEY (`cost_name`,`engine_name`,`device_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0;
/*!40101 SET character_set_client = @saved_cs_client */;

這是備份中七行中的第一行,STATS_PERSISTENT=0因此我認為它可能必須是兼容性問題。我專門使用 MariaDB 10.1.37 和 MySQL 5.5.39。

我認為在生成或讀取轉儲時必須有一些標誌,我可以使用它來做到這一點。

那麼,如何恢復轉儲或如何生成兼容的轉儲?

我自己沒有對此進行測試,但在MariaDB mysqldump 首頁上有一段關於--create-options開關的段落,似乎表明您可以使用開關解決問題--skip-create-options

在 CREATE TABLE 語句中包含所有 MariaDB 和/或 MySQL 特定的創建選項。使用 –skip-create-options 禁用。

引用自:https://dba.stackexchange.com/questions/228469