Mysql

MySQL 從轉儲中恢復工作在 OSX 但不是 Windows

  • February 25, 2019

我從 CloudSQL 數據庫創建了一個轉儲,用於本地開發。我可以成功執行轉儲文件以在執行 OSX 的電腦上恢復數據庫,但是在執行 Windows 的同事電腦上嘗試時,執行失敗並出現以下錯誤:

ERROR 1822 (HY000) at line 479: Failed to add the foreign key constraint. Missing index for constraint 'fk_name' in the referenced table 'table_name'

引用中的 fk 指向表的複合主鍵,所以我不確定怎麼可能缺少索引?

這是轉儲文件中的失敗程式碼:

KEY fk_name (user_id, org_id),
CONSTRAINT fk_name FOREIGN KEY (user_id, org_id) REFERENCES table_name (user_id, org_id)

OSX 電腦使用 MySQL Ver 14.14 Distrib 5.7.19。Windows 電腦使用 MySQL Ver 8.0.15 (MySQL Community Server - GPL)

所以,看起來這是與 MySQL 8 的兼容性問題。

將 Windows 機器降級到 5.7,現在一切正常。

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