此頁面列出 MySQL 適用的 Cloud SQL 的已知問題,以及如何避免這些問題發生,或復原到問題發生之前狀態的方式。
如果執行個體發生問題,請務必詳閱作業指南和診斷問題中的資訊。資料耐用性與可用性問題
產生的資料欄 (僅限 MySQL 5.7 執行個體)
由於 MySQL 的問題,使用產生的資料欄可能會導致資料毀損。詳情請參閱 MySQL 錯誤編號 82736。
執行個體連線問題
到期的 SSL/TLS 憑證
如果執行個體已設為使用 SSL,請前往 Cloud de Confiance 控制台的 Cloud SQL 執行個體頁面,然後開啟執行個體。開啟「Connections」(連線) 頁面,選取「Security」(安全性) 分頁標籤,確認伺服器憑證有效。如果憑證已過期,請新增憑證並輪替。
Cloud SQL Auth Proxy 版本
如果使用 Cloud SQL Auth Proxy 連線,請確認您使用的是最新版本。詳情請參閱「將 Cloud SQL Auth Proxy 保持在最新狀態」。
未取得授權,無法連線
如果您嘗試連線至該專案中不存在的執行個體,錯誤訊息只會指出您無權存取該執行個體。
無法建立 Cloud SQL 執行個體
如果看到
Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]錯誤訊息,請嘗試再次建立 Cloud SQL 執行個體。
管理問題
一個執行個體一次只能執行一項長時間執行的 Cloud SQL 匯入或匯出作業。開始作業時,請確認您不需要對執行個體執行其他作業。此外,您也可以在作業開始後取消作業。
MySQL 會自動修訂每個 DDL 陳述式。Cloud SQL 會保留匯入作業的所有步驟,直到取消執行個體為止。因此,您可能需要手動清理執行個體上的資料。
匯入及匯出資料問題
CSV 匯出作業無法正確設定 NULL 和換行符號的格式。
使用 Cloud SQL 匯出功能將資料匯出為 CSV 時,NULL 會匯出為
"N,這可能會導致 CSV 檔案包含不平衡的引號。此外,如果文字資料含有換行字元,則會在該行結尾處加入尾隨引號。匯入使用預設逸出字元匯出的檔案時,檔案會將值視為
"NULL",而非NULL。如要在匯出檔案時覆寫預設值,請使用--escape="5C"。SQL 模式設定會影響 Cloud SQL 解讀 SQL 查詢的方式。
舉例來說,如果您從未啟用嚴格 SQL 的資料庫匯出資料,然後嘗試匯入 Cloud SQL (預設啟用嚴格 SQL),匯入作業可能會失敗。最佳做法是在匯入時使用與匯出時相同的 SQL 模式。
DEFINER 子句可能導致匯入失敗
如果 DEFINER 使用者是 SUPER 或系統使用者,且與將資料匯入 Cloud SQL 的使用者不同,DEFINER 子句可能會導致匯入作業失敗。進一步瞭解 Cloud SQL 中的 DEFINER 用途和潛在解決方法。
如果您嘗試從大型資料庫 (例如資料量達 500 GB 以上的資料庫) 匯入及匯出資料,匯入和匯出作業可能需要較長時間才能完成。此外,在匯入或匯出期間,您無法執行其他作業 (例如備份作業)。如要提升匯入和匯出程序的效能,可以考慮使用
gcloud或 API 還原先前的備份。
Cloud Storage 支援單一物件大小上限為 5 tebibyte (5 TiB)。Cloud SQL 會先壓縮資料,再上傳至 Cloud Storage,因此只有在匯出檔案的「壓縮」大小超過 5 TiB 時,匯出作業才會失敗。
壓縮率取決於資料庫中的資料類型,例如文字的壓縮效果優於 BLOB 等二進位資料。因此,如果資料高度可壓縮,即使資料庫或資料表大小超過 5 TiB,匯出作業也可能不會失敗,但接近 5 TiB 的未壓縮資料則可能失敗。
如果執行標準匯出作業,Cloud SQL 通常會建立單一匯出檔案。如果使用平行匯出,Cloud SQL 會建立多個匯出檔案。如果採用這類匯出作業,只要有任何資料表的壓縮匯出檔案超過 5 TiB,匯出作業就會失敗。
如果匯出作業因 5 TiB 限制而失敗,請將匯出作業拆分成較小的區隔。如果您使用標準匯出功能,但達到這項限制,建議改用平行匯出功能。
交易記錄和磁碟成長
記錄檔每天會清除一次,而非持續清除。如果記錄保留天數與備份數量相同,則可能會遺失一天的記錄,具體取決於備份時間。舉例來說,如果將記錄保留期限設為七天,並將備份保留期限設為七個備份,則系統會保留六到七天的記錄。
建議您將備份數量設為至少比記錄保留天數多一個,以確保記錄保留天數至少達到指定天數。
升級 MySQL 執行個體時發生問題
如果您使用資料庫遷移服務,將 MySQL 執行個體從 5.7 版升級至 8.0 版,且 5.7 版執行個體中名為 mysql 的資料庫有預存程序,則預存程序可能不會複製到升級後 8.0 版執行個體的 mysql 資料庫。此外,您可能無法在升級後的執行個體中,於 mysql 資料庫建立預存程序。
InnoDB 頁面壓縮問題
InnoDB 頁面壓縮可減少需要讀取和寫入磁碟的資料量,進而提升更新查詢的效能。不過,如果資料表經常更新,頁面壓縮可能會影響更新查詢的效能。如要評估頁面壓縮對更新查詢的影響,您可以執行效能測試,比較啟用和停用頁面壓縮時的效能。這有助於您觀察頁面壓縮對工作負載效能的影響。
您可以按照下列方式,最佳化網頁壓縮效能:
請根據資料類型,使用合適的壓縮演算法。例如,文字資料使用 LZ4,二進位資料使用 ZLIB。
避免對經常更新的資料進行壓縮。壓縮及解壓縮資料可能會降低更新查詢的速度。
與 Cloud Monitoring 或 Cloud Logging 相關的問題
在某些情況下,具有下列區域名稱的執行個體會顯示錯誤,如下所示:
us-central1顯示為us-centraleurope-west1顯示為europeasia-east1顯示為asia
這個問題會在以下情境中發生:
- Cloud Monitoring 的警告功能
- Metrics Explorer
- Cloud Logging
您可以使用資源中繼資料標籤,緩解 Cloud Monitoring 中的警告和 Metrics Explorer 的問題。請使用系統中繼資料標籤 region,而非 cloudsql_database 受監控資源標籤 region。