各 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
- Ruby
您也可以搭配使用 Cloud SQL 與採用標準 MySQL 通訊協定的外部應用程式。
如何連線至 MySQL 適用的 Cloud SQL 執行個體
您可以從下列項目連線至 Cloud SQL 執行個體:
- A
mysql
client - 第三方工具,例如 SQL Workbench 或 Toad for MySQL
- 外部應用程式
- App Engine 應用程式
- 在 Compute Engine 上執行的應用程式
- 在 Google Kubernetes Engine 上執行的應用程式
- Cloud Run functions
- Cloud Run
- Google Apps Script 指令碼
系統不支援使用私人 Google 存取權連線至 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 不支援下列功能:
MySQL 8.0 適用的 Cloud SQL 不支援下列功能:
MySQL 8.4 適用的 Cloud SQL 不支援下列功能:
- 已加上標記的 GTID。如要進一步瞭解已加上標記的 GTID,請參閱 MySQL 8.4 版本資訊的「MySQL Replication: tagged GTIDs」(MySQL 複製:已加上標記的 GTID) 一節,網址為 Features Added or Changed in MySQL 8.4。
此外,MySQL 適用的 Cloud SQL 不會授予 MySQL 8.4 中導入的下列權限:
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 陳述式不支援 MySQL 5.6 和 5.7 適用的 Cloud SQL,但支援 MySQL 8.0 適用的 Cloud SQL:
- 交易內的
CREATE TEMPORARY TABLE
陳述式
詳情請參閱 MySQL 說明文件。
Cloud SQL 不支援的 MySQL 函式
LOAD_FILE()
Cloud SQL 不支援的 MySQL 用戶端程式功能
mysqldump
使用--tab
選項或與--tab
搭配使用的選項。這是因為執行個體使用者未取得 FILE 權限。系統支援所有其他mysqldump
選項。如要瞭解如何使用mysqldump
選項,以最佳化檔案並匯入至 Cloud SQL,請參閱「使用 mysqldump 從本機 MySQL 伺服器匯出」。mysqlimport
而不使用--local
選項。這是因為LOAD DATA INFILE
的限制。如要將資料匯入 Cloud SQL 執行個體,請參閱使用傾印檔案匯入或使用 CSV 檔案匯入。如要將含有二進位資料的資料庫匯入 Cloud SQL 執行個體,您必須使用
--hex-blob
選項搭配mysqldump
。使用本機 MySQL 伺服器執行個體和
mysql
用戶端時,hex-blob
並非為必要標記,但如果您要將任何含有二進位資料的資料庫匯入 Cloud SQL 執行個體,則必須使用該標記。如要將資料匯入 Cloud SQL 執行個體,請參閱使用傾印檔案匯入或使用 CSV 檔案匯入。並非所有 MySQL 選項和參數都可以做為 Cloud SQL 標記啟用編輯。
如要要求加入可設定的 Cloud SQL 標記,請使用 Cloud SQL 討論群組。
InnoDB 是唯一支援的儲存引擎。如需將資料表從 MyISAM 轉換成 InnoDB 的說明,請參閱 MySQL 說明文件中的「Converting table to InnoDB」(將資料表轉換為 InnoDB)。
MySQL 適用的 Cloud SQL 預設選項
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」。
MySQL 8.4 驗證外掛程式預設值
從 MySQL 8.4 適用的 Cloud SQL 開始,caching_sha2_password
外掛程式是預設的驗證外掛程式。您建立的所有內部使用者和新使用者帳戶,都會使用 caching_sha2_password
外掛程式進行驗證。MySQL 適用的 Cloud SQL 8.4 會繼續支援使用 mysql_native_password
外掛程式的現有 Cloud SQL 使用者帳戶。升級至 MySQL 8.4 後,這些現有帳戶仍可連線至 MySQL 適用的 Cloud SQL 執行個體。
在 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
。
Cloud SQL 中 MySQL 系統旗標的變更
對於某些 MySQL 系統旗標,Cloud SQL 使用的值與預設值不同。您無法變更這些旗標的值。如需標記清單,請參閱「Cloud SQL 中變更的系統標記」。
MySQL 8.0 以上版本適用的 Cloud SQL 不支援的 Cloud SQL 功能
MySQL 8.0 以上版本的 Cloud SQL 不支援使用容錯移轉備用資源的舊版 Cloud SQL for MySQL 高可用性 (HA) 設定。MySQL 8.0 以上版本的 Cloud SQL 僅支援區域高可用性設定。
PostgreSQL 功能 (依 Cloud SQL 版本分類)
如要進一步瞭解各版本的 PostgreSQL 適用的 Cloud SQL 功能,請參閱「Cloud SQL 版本簡介」。
PostgreSQL 適用的 Cloud SQL 支援的功能
- 雲端上全代管的 PostgreSQL 資料庫。
- 執行個體提供區域包含美洲、歐盟、亞洲及澳洲。請參閱所有可建立 Cloud SQL 執行個體的地區。
- 支援使用資料庫移轉服務 (DMS),從來源資料庫遷移至 Cloud SQL 目的地資料庫。
- Google 內部網路及資料庫資料表、暫存檔案和備份中的客戶資料均會經過加密。
- 支援使用 Cloud SQL Auth Proxy 或 SSL/TLS 通訊協定建立安全的外部連線。
- 使用自動容錯移轉功能,在多個區域之間複製資料。
- 使用 SQL 傾印檔案來匯入和匯出資料庫。
- 支援 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
- Ruby
您也可以使用標準 PostgreSQL 用戶端/伺服器通訊協定,透過外部應用程式使用 Cloud SQL。
如何連線至 PostgreSQL 適用的 Cloud SQL 執行個體
您可以從下列位置連線至 Cloud SQL 執行個體:
psql
用戶端。瞭解詳情。- 使用標準 PostgreSQL 用戶端與伺服器通訊協定的第三方工具。
- 外部應用程式。瞭解詳情。
- App Engine 應用程式。瞭解詳情。
- 在 Compute Engine 上執行的應用程式。瞭解詳情。
- 在 Google Kubernetes Engine 上執行的應用程式。瞭解詳情。
- Cloud Run 函式。瞭解詳情。
- Cloud Run。瞭解詳情。
系統不支援使用私人 Google 存取權連線至 Cloud SQL。
標準 PostgreSQL 與 PostgreSQL 適用的 Cloud SQL 的差異
Cloud SQL 執行個體所提供的 PostgreSQL 功能與本機託管的 PostgreSQL 執行個體所提供的功能大致相同。不過,標準 PostgreSQL 執行個體和 Cloud SQL 執行個體之間還是有些微差異。
PostgreSQL 適用的 Cloud SQL 不支援的功能
需要
SUPERUSER
權限的任何功能,但下列情況除外:CREATE EXTENSION
陳述只能用於支援的擴充功能。如果您獲派
cloudsqlsuperuser
角色,則可以執行CREATE CAST
和DROP CAST
陳述式。詳情請參閱「超級使用者限制和權限」。
WITHOUT FUNCTION
轉換方法。自訂背景工作站。
Cloud Shell 中的
psql
用戶端不支援需要重新連線的作業,例如使用\c
指令連線至不同的資料庫。低階虛擬機器 (LLVM) 即時 (JIT) 編譯。
PostgreSQL 和 PostgreSQL 適用的 Cloud SQL 之間的顯著差異
部分 PostgreSQL 選項和參數無法當成 Cloud SQL 標記來編輯。
如要要求加入可設定的 Cloud SQL 標記,請使用 PostgreSQL 適用的 Cloud SQL 論壇。
Cloud SQL 支援的 SQL Server 功能
- 雲端上全代管的 SQL Server 資料庫。
- 自訂機器類型,最多可搭載 624 GB 的 RAM 和 96 個 CPU。
- 高達 64 TB 的可用儲存空間,並可在必要時自動增加儲存空間大小。
- 在Google Cloud 控制台中建立及管理執行個體。
- 執行個體提供區域包含美洲、歐洲、亞洲或澳洲。請參閱所有可建立 Cloud SQL 執行個體的地區。
- Google 內部網路及資料庫資料表、暫存檔案和備份中的客戶資料均會經過加密。
- 使用者資料庫的欄和儲存格層級加密。
- 支援使用 Cloud SQL Auth Proxy 或 SSL/TLS 通訊協定建立安全的外部連線。
- 使用 BAK 和 SQL 檔案匯入資料庫。
- 使用 BAK 檔案匯出資料庫。
- 自動備份、隨選備份和時間點復原。
- 執行個體複製功能。
- 與 Stackdriver Logging 與 Monitoring 整合。
- 啟用 SQL Server 代理程式,以利複製和其他工作。
- 在多個區域之間複製資料。
- 建立執行個體時,請為資料庫設定預設的定序。
- 透過地區永久磁碟實現高可用性。
- 與 Managed Service for Microsoft Active Directory 整合,包括 Windows 驗證。
- 變更資料擷取 (CDC)。
- 智慧型查詢處理。
- 加快資料庫復原速度。
- 強化資料分類。
- 支援 UTF-8 字元編碼。
- 強化監控。
- 動態資料遮蓋 (DDM)。
- 連結的伺服器。
- SQL Server 稽核。
- SQL Server 發布者。
- SQL Server 訂閱者。
- 在獨立主機上執行並連線至 Cloud SQL 的 SQL Server Integration Services (SSIS)。
- 在獨立主機上執行的 SQL Server Reporting Services (SSRS),並連線至 Cloud SQL。
- 大量複製程式 (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 設定。如要進一步瞭解這項功能,請參閱「設定資料庫旗標」。
- 延展資料庫
- 備份至 Microsoft Azure Blob 儲存體
- 緩衝區集區延伸功能
- OPENROWSET 功能
- Data Quality Services
- 資料庫記錄傳輸
- 資料庫郵件
- 分散式交易協調器 (MSDTC)
- 檔案表格
- FILESTREAM 支援
- 安裝需要完整伺服器安裝作業的伺服器,並使用特定驗證機制,例如 Azure DevOps Server。
- 維護方案
- 效能資料收集器
- 以政策為準的管理
- PolyBase
- 機器學習和 R 服務
- Resource Governor
- 伺服器層級觸發條件
- 服務代理程式端點
- T-SQL 端點 (無法使用
CREATE ENDPOINT
執行所有作業) - WCF Data Services
- 需要
sysadmin
角色的系統預存程序 - 混合式緩衝區集區
- 記憶體最佳化 tempdb 中繼資料
- 支援資料庫快照的記憶體內 OLTP
- 註冊外部語言
- 資料列層級安全性
- 物件儲存空間備份與還原
- 持久性記憶體 (PMEM)
- 即時作業分析
- 整合式加速和卸載
- 混合式緩衝區集區 (直接寫入)
- 多重寫入複製
- 連結至 Azure SQL 受管理執行個體
- 包含的可用性群組
- 搭配安全封鎖區的一律加密
- Azure Active Directory 驗證
- 支援 PFX 憑證和其他密碼學改良功能
- MS-TDS 8.0 通訊協定和 TLS 1.3
Cloud SQL 不支援的其他 SQL Server 作業
- 管理大量作業
- 變更任何憑證
- ALTER ANY EVENT NOTIFICATION
- ALTER ANY EVENT SESSION
- ALTER RESOURCES
- ALTER SETTINGS
- 驗證伺服器
- CONTROL_SERVER
- CREATE DDL EVENT NOTIFICATION
- 建立端點
- CREATE TRACE EVENT NOTIFICATION
- 外部存取組件
- 還原
- SHUTDOWN
- CLR 組件
SQL Server 適用的 Cloud SQL 支援的語法
Cloud SQL 支援 Transact-SQL 語法。
SQL Server 適用的 Cloud SQL 支援的語言
您可以將 Cloud SQL 與在彈性環境中執行的 App Engine 應用程式搭配使用,這些應用程式可使用下列語言編寫:
- C#
- Go
- Java
- Node.js
- PHP
- Python
- Ruby
如何連線至 SQL Server 適用的 Cloud SQL 執行個體
您可以從下列位置連線至 Cloud SQL 執行個體:
系統不支援使用私人 Google 存取權連線至 Cloud SQL。