本文將為您詳細介紹如何快速使用PolarDB MySQL版邊緣叢集,包括建立叢集、配置白名單、建立資料庫帳號以及串連資料庫等相關操作。
支援的邊緣地區
目前PolarDB MySQL版邊緣叢集僅支援海口電信、土耳其伊斯坦布爾-1、中國澳門-2以及越南河內-3。
1. 建立ENS網路
為您所需部署叢集的地區建立相應的邊緣服務網路。
若您尚未使用過邊緣節點服務ENS,則需要根據實際業務需求填寫相關資料,申請開通ENS服務。
前往邊緣節點服務ENS控制台,選擇左側導覽列中的,單擊建立網路。
在建立網路頁面配置,根據目前已支援的邊緣地區,建立對應的網路(VPC與交換器)。
2. 建立邊緣叢集
您可以前往PolarDB的邊緣叢集購買頁,快速建立PolarDB MySQL版邊緣叢集。配置參數如下,其他設定可保持預設。
配置項 | 說明 |
計費類型 | 邊緣雲形態目前僅支援訂用帳戶方式購買。 說明 訂用帳戶為預付費模式。在建立叢集時,您需選擇固定規格的資源,並預先支付叢集的費用。購買周期越長,所享受的折扣也越大。該模式一般適用於業務需求長期穩定的情境。 |
邊緣主機房 | 選擇叢集的所在邊緣雲節點 說明 請確保PolarDB與需要串連的ENS執行個體位於同一個地區,否則它們內網無法直接互連。 |
相容性 | 選擇叢集與MySQL相容的版本。
|
子系列 | 支援選擇獨享規格和通用規格兩種子系列:
關於兩種子系列的詳細對比,請參見如何選擇通用規格和獨享規格。 |
網路 | 選擇第一步建立的ENS網路。如果您已建立邊緣雲執行個體,且該執行個體所在VPC符合您的規劃,那麼您可以選擇該VPC和交換器。 |
規格 | 選擇對應的節點規格,不同規格間的CPU、記憶體、最大儲存空間以及IOPS存在一定差異,您可根據實際業務需求選擇。 |
節點個數 | 預設為兩個節點(一讀寫一隻讀),您可以根據實際業務需求進行配置。 說明
|
儲存類型 | PolarDB邊緣雲基於ENS雲端硬碟,是阿里雲為邊緣節點服務ENS提供的資料區塊層級的Block Storage產品,具有低時延、高效能、持久性、高可靠等特點。分以下兩種規格:
|
儲存空間 | 配置需要預購的儲存空間大小。預設為100 GB。 |
3. 建立資料庫帳號
您可以前往PolarDB邊緣雲控制台,在邊緣雲叢集中單擊目的地組群ID進入叢集詳情頁。在中建立資料庫帳號。

資料庫帳號類型分為高許可權帳號和普通帳號,這兩種帳號的許可權存在差異。您可以根據實際業務需求選擇建立相應的資料庫帳號。更多資訊,請參見帳號許可權。
4. 擷取叢集地址
您可以前往PolarDB邊緣雲控制台,在邊緣雲叢集中單擊目的地組群ID進入叢集詳情頁。在資料庫連接中擷取資料連線地址。
私網地址是您的邊緣雲VPC中的IP地址,系統使用負載平衡器(Load Balancer)關聯各計算節點。
推薦使用叢集地址,預設連接埠號碼為3306。
5. 串連資料庫
串連資料庫叢集的方法有很多種,您可以根據實際業務需求來選擇適合的串連方式。以下列舉了部分串連資料庫叢集的樣本:
使用用戶端串連叢集
您可以使用任何通用的用戶端串連PolarDB叢集。此處以MySQL Workbench 8.0.29版本為例,其它用戶端的操作類似。
安裝MySQL Workbench。官方下載地址請參見MySQL Workbench下載頁面。
開啟MySQL Workbench,選擇。
輸入串連資訊,單擊OK。
使用命令列串連叢集
如果您的伺服器安裝了MySQL用戶端,可以通過命令列串連PolarDB MySQL版資料庫叢集。
文法:
mysql -h<串連地址> -P<連接埠> -u<資料庫使用者名稱> -p<資料庫使用者密碼>樣本:
mysql -h pc-2***.rwlb.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233參數 | 說明 | 樣本 |
-h | pc-2***.rwlb.rds.aliyuncs.com | |
-P | 資料庫連接地址的連接埠號碼,與資料庫連接地址相對應。 說明
| 3306 |
-u | polardb_mysql_user | |
-p | 資料庫帳號密碼。 說明 該參數為必填參數。
| Pass***233 |
使用應用程式串連叢集
串連PolarDB MySQL版叢集的方式與串連其他MySQL資料庫的方式一樣,僅需將資料庫連接地址、連接埠、帳號及密碼等進行替換即可。以下為您列舉部分開發語言如何通過應用程式訪問PolarDB資料庫:
Java
此處以Maven專案為例,使用MySQL JDBC驅動串連PolarDB MySQL版叢集。
首先,您需要在pom.xml檔案中添加MySQL JDBC驅動的依賴,程式碼範例:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> </dependency>串連叢集。請將參數
<HOST>、連接埠號碼、<USER>、<PASSWORD>、<DATABASE>、<YOUR_TABLE_NAME>及<YOUR_TABLE_COLUMN_NAME>進行替換。import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class DatabaseConnection { public DatabaseConnection() { } public static void main(String[] args) { // PolarDB叢集串連地址、連接埠、需要串連的資料庫名 String url = "jdbc:mysql://<HOST>:3306/<DATABASE>?useSSL=false&serverTimezone=UTC"; // 資料庫帳號 String user = "<USER>"; // 資料庫帳號的密碼 String password = "<PASSWORD>"; try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); // 需要檢索的資料表名 ResultSet rs = stmt.executeQuery("SELECT * FROM `<YOUR_TABLE_NAME>`"); while(rs.next()) { // 需要檢索的資料表的列名 System.out.println(rs.getString("<YOUR_TABLE_COLUMN_NAME>")); } rs.close(); stmt.close(); conn.close(); } catch (Exception var7) { var7.printStackTrace(); } } }
Python
此處以Python3為例,使用PyMySQL庫串連PolarDB MySQL版叢集。
首先,您需要安裝PyMySQL庫。如果您還沒有安裝,可以通過以下命令進行安裝:
pip3 install PyMySQL串連叢集。請將參數
<HOST>、連接埠號碼、<USER>、<PASSWORD>、<DATABASE>及<YOUR_TABLE_NAME>進行替換。import pymysql # 資料庫連接參數 host = '<HOST>' # PolarDB叢集串連地址 port = 3306 # 預設連接埠3306 user = '<USER>' # 資料庫帳號 password = '<PASSWORD>' # 資料庫帳號的密碼 database = '<DATABASE>' # 需要串連的資料庫名 try: # 建立資料庫連接 connection = pymysql.connect( host=host, port=port, user=user, passwd=password, db=database ) # 擷取操作遊標 with connection.cursor() as cursor: # 執行 SQL 查詢 sql = "SELECT * FROM `<YOUR_TABLE_NAME>`" # 需要檢索的資料表名 cursor.execute(sql) # 擷取查詢結果 results = cursor.fetchall() for row in results: print(row) finally: # 關閉資料庫連接 if 'connection' in locals() and connection.open: connection.close()
Go
此處以go1.23.0為例,使用database/sql包和go-sql-driver/mysql驅動來串連PolarDB MySQL版叢集。
首先,您需要安裝
go-sql-driver/mysql驅動。您可以通過以下命令進行安裝:go get -u github.com/go-sql-driver/mysql串連叢集。請將參數
<HOST>、連接埠號碼、<USER>、<PASSWORD>、<DATABASE>及<YOUR_TABLE_NAME>進行替換。package main import ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) func main() { // 資料庫連接參數 dbHost := "<HOST>" // PolarDB叢集串連地址 dbPort := "3306" // 預設連接埠3306 dbUser := "<USER>" // 資料庫帳號 dbPass := "<PASSWORD>" // 資料庫帳號的密碼 dbName := "<DATABASE>" // 需要串連的資料庫名 // 構建 DSN (Data Source Name) dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", dbUser, dbPass, dbHost, dbPort, dbName) // 開啟資料庫連接 db, err := sql.Open("mysql", dsn) if err != nil { log.Fatalf("Failed to connect to database: %v", err) } defer db.Close() // 測試連接 err = db.Ping() if err != nil { log.Fatalf("Failed to ping database: %v", err) } // 建立一個操作遊標 var result string err = db.QueryRow("SELECT VERSION()").Scan(&result) if err != nil { log.Fatalf("Failed to execute query: %v", err) } // 輸出資料庫版本 fmt.Printf("Connected to database, version: %s\n", result) // 執行 SQL 查詢 rows, err := db.Query("SELECT * FROM `<YOUR_TABLE_NAME>`") // 需要檢索的資料表名 if err != nil { log.Fatalf("Failed to execute query: %v", err) } defer rows.Close() }
