Mysql
如何從 MariaDB 10.1 恢復轉儲到 MySQL 5.5
我使用
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 禁用。