Mysql
MySQL 從轉儲中恢復工作在 OSX 但不是 Windows
我從 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,現在一切正常。