Migration

將 mysql 4 遷移到 mysql 5

  • September 21, 2011

在我看來,這似乎是一個常見的案例,所以我很驚訝關於它的資訊如此之少,如果它是重複的,很抱歉,但我已經搜尋過了。:)

我正在將客戶網站從一個 CMS 遷移到另一個,並同時遷移到更新更快的機器。作為其中的一部分,我將 MySQL 數據庫從舊伺服器移動到新伺服器。

問題是舊伺服器執行 MySQL 4 和新的 MySQL 5。所以當我mysqldump在舊站點上執行然後嘗試在新站點上執行它時,我得到語法錯誤。

ERROR 1064 (42000) at line 178: You have an error in your SQL syntax; check the 
manual that corresponds to your MySQL server version for the right syntax to use 
near 'BTREE (`id`),
 KEY `f_ChangedOnWeb` (`f_ChangedOnWeb`),
 KEY `f_AddressUpdate`' at line 56

我還嘗試通過使用 –compatible mysql323 轉儲來使用更舊的語法,但這只是導致

ERROR 1062 (23000) at line 2283: Duplicate entry '??????????' for key 2`...

在我看來,這一定是一個相當常見的案例,但我找不到任何幫助。可能我所有的Google搜尋都淹沒在不相關的答案中。大多數人似乎都同意 mysqldump 是正確的答案,但沒有人提到你可能會遇到語法錯誤……

在我全部更改PRIMARY KEY TYPE BTREEPRIMARY KEY USING BTREE. 我不知道這種變化是否正確,但我想我們會看到……

MySQL 網站上有用於遷移的文件。也許這有幫助?

引用自:https://serverfault.com/questions/237600