OpenShift/MySQL 錯誤:從 OS X 遷移到 OpenShift 時出現 lower_case_table_names 錯誤

OpenShift/MySQL 錯誤:從 OS X 遷移到 OpenShift 時出現 lower_case_table_names 錯誤

好的,我已經從 OS X 執行個體轉儲了 MySQL 5.x 資料庫,但在將該資料庫匯入 OpenShift MySQL 5.5 容器時遇到問題。我的表是駝峰式的(例如“tblAccounts”),但腳本拋出諸如“找不到表 tblaccounts”之類的錯誤。

我相信 MySQL 的 lower_case_table_names 標誌在 OS X 上設為 2。我不斷收到缺少表的錯誤。

我嘗試了此標誌的多種組合,並嘗試從使用 mysqldump 和 MySQL Workbench 建立的腳本重新載入資料庫,但我還沒有找到一種不會出現此錯誤的乾淨方法。我已經沒有關於如何乾淨地做到這一點的想法了。有什麼建議麼?謝謝,

足球俱樂部

答案1

我知道這有點晚了——但對於其他遇到這個問題的人來說。

lower_case_table_name如果 MariaDB 發現它位於區分大小寫的檔案系統上,那麼它在啟動時將從 2更改為 0:

[Warning] lower_case_table_names was set to 2, even though your the file system '/var/lib/mysql/' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems.

我假設 mysql 做同樣的事情(因為它是從它分叉出來的)。

不過,您可以將其設定為1並且需要花費時間。對於我(也是從 MacOS 遷移)來說,我可以在載入資料庫後執行此操作。它工作得很好......但這似乎與文檔中關於1和之間的區別相悖2。如果 mysql 對此不滿意,您可能必須清空資料庫,將其設為1,然後重新載入資料。

相關內容