Cloud SQL 功能

本頁面說明 Cloud SQL 的主要特色與功能。

各 Cloud SQL 版本的 MySQL 功能

如要進一步瞭解 MySQL 適用的 Cloud SQL Enterprise Plus 版本和 Cloud SQL Enterprise 版本功能,請參閱「Cloud SQL 版本簡介」。

Cloud SQL 支援的一般 MySQL 功能

  • 雲端上全代管的 MySQL Community Edition 資料庫。
  • 美洲、歐盟、亞洲和澳洲皆有執行個體。查看可建立 Cloud SQL 執行個體的所有位置。
  • 支援使用資料庫遷移服務 (DMS),從來源資料庫遷移至 Cloud SQL 目的地資料庫。
  • 客戶資料在 Google 內部網路、資料庫資料表、暫存檔案和備份中皆會加密。
  • 支援使用 Cloud SQL Auth Proxy 或 SSL/TLS 通訊協定,建立安全的外部連線。
  • 支援私密 IP (私人服務存取權)。
  • 使用自動容錯移轉功能,在多個區域之間複製資料。
  • 使用 mysqldump 匯入及匯出資料庫,或匯入及匯出 CSV 檔案。
  • 支援 MySQL 有線通訊協定及標準 MySQL 連接器。
  • 自動備份、隨選備份和時間點復原。
  • 執行個體複製功能。
  • 整合 Google Cloud Observability 記錄和監控功能。
  • 符合 ISO/IEC 27001 標準。
  • 支援讀取集區和讀取集區自動調度資源。
  • 儲存空間縮減。詳情請參閱「關於儲存空間縮減」。
  • 資源群組。
  • 向量嵌入資料儲存庫。

MySQL 適用的 Cloud SQL 支援的應用程式語言

Cloud SQL 可與在彈性環境中執行的 App Engine 應用程式搭配使用,這些應用程式是以以下語言編寫:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • 小茹

您也可以搭配使用 Cloud SQL 和採用標準 MySQL 通訊協定的外部應用程式。

如何連線至 MySQL 適用的 Cloud SQL 執行個體

您可以從下列位置連線至 Cloud SQL 執行個體:

不支援透過 Private Google Access 連線至 Cloud SQL。支援私人服務存取權。詳情請參閱「服務的私人存取權選項」。

MySQL 8.0 適用的 Cloud SQL 使用者管理

MySQL 8.0 有所異動,因此您無法使用 CREATE 或 DELETE 陳述式管理 MySQL 使用者。您也無法使用 INSERT、UPDATE 或 DELETE 陳述式修改使用者權限。請改用 CREATE USER、DROP USER、GRANT 和 REVOKE 陳述式修改使用者權限。詳情請參閱「帳戶管理注意事項」。

注意:請忽略「帳戶管理附註」下方有關執行 mysql_upgrade 升級至 8.0 版的資訊。請改為按照「升級執行個體上的 MySQL」一文中的程序升級。

標準 MySQL 與 MySQL 適用的 Cloud SQL 之間的差異

一般來說,Cloud SQL 執行個體提供的 MySQL 功能,與本機託管 MySQL 執行個體提供的功能相同。不過,標準 MySQL 執行個體和 Cloud SQL 執行個體之間有一些差異。

Cloud SQL 不支援的 MySQL 功能

MySQL 5.6 和 5.7 適用的 Cloud SQL 不支援下列功能:

  • SUPER 權限

MySQL 8.0 適用的 Cloud SQL 不支援下列功能:

MySQL 8.4 適用的 Cloud SQL 不支援下列功能:

此外,MySQL 適用的 Cloud SQL 不會授予 MySQL 8.4 導入的下列權限:

MySQL 適用的 Cloud SQL 不支援下列 MySQL 9.7 功能:

Cloud SQL 不支援的 MySQL 外掛程式

Cloud SQL 不支援的 MySQL 陳述式

下列 SQL 陳述式會產生錯誤,並顯示 Error 1290: The MySQL server is running with the Google option so it cannot execute this statement 訊息:

  • LOAD DATA INFILE

  • SELECT ... INTO OUTFILE

  • SELECT ... INTO DUMPFILE

  • INSTALL PLUGIN ...

  • UNINSTALL PLUGIN

  • CREATE FUNCTION ... SONAME ...

MySQL 執行個體使用 GTID 複製功能,因此不支援下列陳述式:

  • CREATE TABLE ... SELECT 個陳述式
  • 同時更新交易和非交易資料表的交易或陳述式

MySQL 適用的 Cloud SQL 5.6 和 5.7 不支援下列 MySQL 陳述式,但 MySQL 適用的 Cloud SQL 8.0 支援:

  • 交易中的 CREATE TEMPORARY TABLE 個陳述式

詳情請參閱 MySQL 說明文件。

Cloud SQL 不支援的 MySQL 函式

  • LOAD_FILE()

Cloud SQL 不支援的 MySQL 用戶端程式功能

  • 使用 --tab 選項或與 --tab 搭配使用的選項,mysqldump。這是因為使用者未獲得 FILE 權限。系統支援所有其他 mysqldump 選項。如要瞭解如何使用 mysqldump 選項,將檔案最佳化以便匯入 Cloud SQL,請參閱「使用 mysqldump 從本機 MySQL 伺服器匯出」。

  • mysqlimport,不使用 --local 選項。這是因為 LOAD DATA INFILE 限制。如要將資料匯入 Cloud SQL 執行個體,請參閱「使用 dump 檔案匯入」或「使用 CSV 檔案匯入」。

  • 如要將含有二進位資料的資料庫匯入 Cloud SQL 執行個體,請務必搭配使用 --hex-blob 選項和 mysqldump。

    雖然使用本機 MySQL 伺服器執行個體和 mysql 用戶端時,hex-blob 不是必要旗標,但如要將含有二進位資料的資料庫匯入 Cloud SQL 執行個體,就必須使用這個旗標。如要將資料匯入 Cloud SQL 執行個體,請參閱「使用 dump 檔案匯入」或「使用 CSV 檔案匯入」。

  • 並非所有 MySQL 選項和參數都能做為 Cloud SQL 旗標編輯。

    如要要求新增可設定的 Cloud SQL 旗標,請使用 Cloud SQL 討論群組。

  • InnoDB 是唯一支援的儲存引擎。如需將資料表從 MyISAM 轉換為 InnoDB 的相關說明,請參閱 MySQL 說明文件中的「將資料表轉換為 InnoDB」。

Cloud SQL 的 MySQL 選項預設集

Cloud SQL 會使用一組特定選項來執行 MySQL。因為選項可能會影響應用程式的運作方式,所以在此加註供您參考。

skip-name-resolve

這項旗標會影響用戶端連線的主機名稱解析方式。請參閱 MySQL 說明文件中的 skip-name-resolve。

log_bin

這個旗標會回報是否已啟用二進位記錄功能。如果使用 --log-bin 選項,這個變數的值會是 ON,否則會是 OFF。請參閱 MySQL 說明文件中的 log_bin。

MySQL 驗證

本節說明 MySQL 內建驗證的異動。

MySQL 8.0 驗證外掛程式預設值

MySQL 適用的 Cloud SQL 8.0 使用 mysql_native_password 做為新使用者的預設驗證外掛程式,而非 caching_sha2_password。mysql_native_password 外掛程式是 MySQL 5.6 和 5.7 使用者的預設外掛程式。

如要讓新使用者使用 caching_sha2_password 外掛程式做為預設驗證,您可以將 default_authentication_plugin 的執行個體旗標設為使用 caching_sha2_password。

如要將現有使用者設為使用 caching_sha2_password,請使用 ALTER USER 指令變更驗證外掛程式。

如果使用者採用 caching_sha2_password 驗證機制,連線時可能需要使用 get-server-public-key 旗標。詳情請參閱 MySQL 說明文件中的「Caching SHA-2 Pluggable Authentication」(快取 SHA-2 外掛式驗證)。

MySQL 8.4 驗證外掛程式預設值

從 MySQL 適用的 Cloud SQL 8.4 開始,caching_sha2_password 外掛程式是預設的驗證外掛程式。所有內部使用者和您建立的新使用者帳戶,都會使用 caching_sha2_password 外掛程式進行驗證。MySQL 適用的 Cloud SQL 8.4 仍支援使用 mysql_native_password 外掛程式的現有 Cloud SQL 使用者帳戶。這些現有帳戶在 MySQL 適用的 Cloud SQL 執行個體升級至 MySQL 8.4 後,仍可繼續連線至這些執行個體。

在 MySQL 8.4 適用的 Cloud SQL 中,mysql_native_password 驗證外掛程式已淘汰。如果嘗試使用已淘汰的 mysql_native_password 驗證外掛程式建立新的使用者帳戶,就會發生錯誤。您無法將 MySQL 8.4 適用的 Cloud SQL 帳戶 authentication_policy 設為使用 mysql_native_password。

如要將現有資料庫使用者帳戶變更為使用 caching_sha2_password 驗證外掛程式,請使用下列指令:

ALTER USER 'username'@'%'
IDENTIFIED WITH caching_sha2_password BY 'user_password';

將 username 和 user_password 替換為要更新的使用者帳戶值。

如要進一步瞭解這項異動對伺服器、用戶端和連接器之間相容性的影響,請參閱 caching_sha2_password as the Preferred Authentication Plugin。

MySQL 9.7 驗證外掛程式預設值

在 MySQL 適用的 Cloud SQL 9.7 中,mysql_native_password 驗證外掛程式已完全移除。所有使用內建驗證機制,並連線至 MySQL 9.7 執行個體的 MySQL 適用的 Cloud SQL 資料庫使用者帳戶,都必須使用 caching_sha2_password 驗證外掛程式。

Cloud SQL 中 MySQL 系統旗標的異動

Cloud SQL 對某些 MySQL 系統旗標使用的值與預設值不同。您無法變更這些旗標的值。如需旗標清單,請參閱「Cloud SQL 中變更的系統旗標」。

MySQL 8.0 以上版本適用的 Cloud SQL 不支援的 Cloud SQL 功能

MySQL 8.0 以上版本的 Cloud SQL 不支援使用容錯移轉副本的舊版 MySQL 適用的 Cloud SQL 高可用性 (HA) 設定。MySQL 8.0 以上版本的 Cloud SQL 僅支援區域性高可用性設定。

PostgreSQL 功能 (依 Cloud SQL 版本分類)

如要進一步瞭解 PostgreSQL 適用的 Cloud SQL 各版本功能,請參閱「Cloud SQL 版本簡介」。

Cloud SQL 支援的 PostgreSQL 功能

  • 雲端上全代管的 PostgreSQL 資料庫。
  • 美洲、歐盟、亞洲和澳洲皆有執行個體。查看可建立 Cloud SQL 執行個體的所有位置。
  • 支援使用資料庫遷移服務 (DMS),從來源資料庫遷移至 Cloud SQL 目的地資料庫。
  • 客戶資料在 Google 內部網路、資料庫資料表、暫存檔案和備份中皆會加密。
  • 支援使用 Cloud SQL Auth Proxy 或 SSL/TLS 通訊協定,建立安全的外部連線。
  • 使用自動容錯移轉功能,在多個區域之間複製資料。
  • 使用 SQL dump 檔案匯入及匯出資料庫。
  • 支援 PostgreSQL 用戶端-伺服器通訊協定和標準 PostgreSQL 連接器。
  • 自動備份、隨選備份和時間點復原。
  • 執行個體複製功能。
  • 整合 Google Cloud Observability 記錄和監控功能。
  • 支援多個 PostgreSQL 版本。
  • 邏輯複製
  • 支援讀取集區和讀取集區自動調度資源
  • 儲存空間縮減。詳情請參閱「關於儲存空間縮減」。

Cloud SQL 支援的 PostgreSQL 擴充功能

Cloud SQL 支援多種 PostgreSQL 擴充功能。如需這些擴充功能的完整清單,請參閱「設定 PostgreSQL 擴充功能」。

Cloud SQL 支援的 PostgreSQL 程序語言

Cloud SQL 支援 PL/pgSQL SQL 程序語言。

PostgreSQL 適用的 Cloud SQL 支援的語言

Cloud SQL 可與在彈性環境中執行的 App Engine 應用程式搭配使用,這些應用程式是以以下語言編寫:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • 小茹

您也可以搭配使用 Cloud SQL 和採用標準 PostgreSQL 用戶端伺服器通訊協定的外部應用程式。

如何連線至 PostgreSQL 適用的 Cloud SQL 執行個體

您可以從下列位置連線至 Cloud SQL 執行個體:

不支援透過私人 Google 存取權連線至 Cloud SQL。

標準 PostgreSQL 與 PostgreSQL 適用的 Cloud SQL 之間的差異

Cloud SQL 執行個體所提供的 PostgreSQL 功能與本機託管的 PostgreSQL 執行個體所提供的功能大致相同。不過,標準 PostgreSQL 執行個體和 Cloud SQL 執行個體之間有一些差異。

PostgreSQL 適用的 Cloud SQL 不支援的功能

  • 任何需要 SUPERUSER 權限的功能,但下列情況除外:

  • WITHOUT FUNCTION 投放方法。

  • 自訂背景 worker。

  • Cloud Shell 中的 psql 用戶端不支援需要重新連線的操作,例如使用 \c 指令連線至其他資料庫。

  • Low-Level Virtual Machine (LLVM) 即時 (JIT) 編譯。

PostgreSQL 和 PostgreSQL 適用的 Cloud SQL 之間的顯著差異

Cloud SQL 支援的 SQL Server 功能

  • 雲端上全代管的 SQL Server 資料庫。
  • 自訂機型,最多可搭載 624 GB 的 RAM 和 96 個 CPU。
  • 最多可使用 64 TB 的儲存空間,並可視需要自動增加儲存空間大小。
  • 在 Google Cloud 控制台中建立及管理執行個體。
  • 執行個體位於美洲、歐洲、亞洲或澳洲。查看可建立 Cloud SQL 執行個體的所有位置。
  • SQL Server 適用的資料庫遷移服務。
  • 客戶資料在 Google 內部網路、資料庫資料表、暫存檔案和備份中皆會加密。
  • 使用者資料庫的資料欄和儲存格層級加密。
  • 支援使用 Cloud SQL Auth Proxy 或 SSL/TLS 通訊協定,建立安全的外部連線。
  • 使用 BAK 和 SQL 檔案匯入資料庫。
  • 使用 BAK 檔案匯出資料庫。
  • 自動備份、隨選備份和時間點復原。
  • 執行個體複製功能。
  • 與 Stackdriver Logging 與 Monitoring 整合。
  • 啟用 SQL Server 代理程式,以便執行複製和其他工作。
  • 在多個區域之間複製資料。
  • 建立執行個體時,設定資料庫的預設定序。
  • 透過區域性永久磁碟提供高可用性。
  • 與客戶自行管理的 Active Directory (CMAD) 整合,包括 Windows 驗證。
  • 與 Managed Service for Microsoft Active Directory 整合,包括 Windows 驗證。
  • 與 Microsoft Entra ID 整合。
  • 變更資料擷取 (CDC)。
  • 智慧型查詢處理。
  • 加速資料庫復原。
  • 強化資料分類。
  • 支援 UTF-8 字元編碼。
  • 強化監控。
  • 動態資料遮蓋 (DDM)。
  • 使用 affinity mask 和 affinity I/O mask 遮蓋處理器親和性。
  • 連結的伺服器。
  • SQL Server 稽核。
  • SQL Server 發布者。
  • SQL Server 訂閱者。
  • SQL Server Integration Services (SSIS) 在獨立主機上執行,並連線至 Cloud SQL。您無法在 Cloud SQL 上託管或執行 SSIS 套件。
  • SQL Server Reporting Services (SSRS) 在獨立主機上執行,並連線至 Cloud SQL。您無法在 Cloud SQL 上託管或執行 SSRS 套件。
  • 大量複製程式 (bcp) 公用程式。如要進一步瞭解如何下載及安裝 bcp 公用程式,請參閱 Microsoft 說明文件。
  • 使用 SqlPackage 匯入及匯出 BACPAC 檔案。如要進一步瞭解如何下載及安裝 SqlPackage,請參閱 Microsoft 說明文件。
  • 大量插入資料,這項功能僅適用於 SQL Server 2022。您可以使用預存程序執行大量插入作業。詳情請參閱「使用大量插入功能匯入資料」。
  • 透明資料加密 (TDE)。詳情請參閱「關於 TDE」。
  • 不含安全飛地的 Always Encrypted。
  • 擴充事件 (XEvents)。
  • 在建立執行個體時和建立後,支援自訂時區。
  • 時態資料表。詳情請參閱「時態資料表」。
  • 支援讀取集區
  • 儲存空間縮減。詳情請參閱「關於儲存空間縮減」。

Cloud SQL 不支援的 SQL Server 功能

Cloud SQL 不提供下列功能, Google Cloud 也不支援這些功能:

Cloud SQL 不提供的一般 SQL Server 功能

  • SQL Server Analysis Services (SSAS)
  • SP_Configure 設定。如要進一步瞭解這項功能,請參閱「設定資料庫旗標」。
  • Stretch 資料庫
  • 備份至 Microsoft Azure Blob 儲存體
  • 緩衝區集區擴充
  • OPENROWSET 功能
  • 資料品質服務
  • 資料庫記錄傳送
  • Database Mail
  • 專屬管理員連線 (DAC)
  • Distributed Transaction Coordinator (MSDTC)
  • 檔案表格
  • FILESTREAM 支援
  • 安裝需要完整伺服器安裝的伺服器,並採用特定驗證機制,例如 Azure DevOps Server。
  • 維護方案
  • Performance Data Collector
  • 政策管理
  • 機器學習和 R 服務
  • Resource Governor
  • 伺服器層級觸發條件
  • 服務代理程式端點
  • T-SQL 端點 (無法使用 CREATE ENDPOINT 執行任何作業)
  • WCF Data Services
  • sysadmin 角色和需要該角色的系統預存程序
  • 混合式緩衝區集區
  • 記憶體最佳化 tempdb 中繼資料
  • 資料庫快照的記憶體內 OLTP 支援
  • 註冊外部語言
  • 資料列層級安全性
  • 物件儲存庫備份與還原
  • 永久記憶體 (PMEM)
  • 即時營運分析
  • 整合式加速和卸載
  • 混合式緩衝區集區 (直接寫入)
  • 多重寫入複製
  • Azure SQL 受控執行個體連結
  • 自主可用性群組
  • 一律使用安全飛地加密
  • 支援 PFX 憑證和其他密碼編譯改善項目
  • MS-TDS 8.0 通訊協定和 TLS 1.3

Cloud SQL 不支援的其他 SQL Server 作業

  • 管理大量作業
  • ALTER ANY CREDENTIAL
  • ALTER ANY EVENT NOTIFICATION
  • ALTER ANY EVENT SESSION
  • ALTER RESOURCES
  • ALTER SETTINGS
  • 驗證伺服器
  • CONTROL_SERVER
  • 建立 DDL 事件通知
  • 建立端點
  • 建立追蹤事件通知
  • EXTERNAL ACCESS ASSEMBLY
  • 還原
  • SHUTDOWN
  • CLR 組件

支援的 語法

Cloud SQL 支援 Transact-SQL 語法。

支援的語言

Cloud SQL 可與在彈性環境中執行的 App Engine 應用程式搭配使用,這些應用程式是以以下語言編寫:

  • C#
  • Go
  • Java
  • Node.js
  • PHP
  • Python
  • 小茹

如何連線至 執行個體

您可以從下列位置連線至 Cloud SQL 執行個體:

不支援透過私人 Google 存取權連線至 Cloud SQL。