Replication

我是否需要重新設計我的數據庫並擺脫外鍵才能成功複製?

  • May 5, 2020

我計劃在主-主或主從模式下設置 MariaDB 複製。我現在的主要問題是閱讀本文件後的擔憂。

我們經常使用外鍵,我們還使用了很多級聯效果,尤其是 ON DELETE。我真的不明白為什麼如果從屬和主控都具有相同的表定義,並且具有相同的級聯 ON DELETE 觸發器,這將是一個問題。

我可以安全地假設如果兩個數據庫伺服器具有完全相同的儲存引擎 (InnoDB) 和 MariaDB 版本,那麼外鍵和相關的 DELETE 語句將按預期工作嗎?還是我們應該刪除所有這些 CASCADE 並重新設計軟體以使其在沒有它們的情況下工作?

謝謝!

這看起來不是問題,因為很明顯,您將在兩台伺服器上使用相同的表定義,包括引擎。您連結到的 MariaDB 知識庫文章中的範例具有不同的儲存引擎:從伺服器沒有 InnoDB,因此它預設為不支持外鍵的 MyISAM。MyISAM 確實容忍CREATE TABLE語句中的外鍵約束,但它會默默地忽略它們,因此任何定義的級聯刪除都不會發生。

引用自:https://dba.stackexchange.com/questions/266155