Migration
將 mysql 4 遷移到 mysql 5
在我看來,這似乎是一個常見的案例,所以我很驚訝關於它的資訊如此之少,如果它是重複的,很抱歉,但我已經搜尋過了。:)
我正在將客戶網站從一個 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 BTREE
為PRIMARY KEY USING BTREE
. 我不知道這種變化是否正確,但我想我們會看到……
MySQL 網站上有用於遷移的文件。也許這有幫助?