使用教程
若您在以下任何步驟中存在疑問,請點擊相應步驟以查看詳細說明。
1. 建立叢集
您可以前往PolarDB的快速購買頁面,通過少量配置即可快速建立PolarDB MySQL版叢集。配置參數如下,其他設定可保持預設。詳細建立叢集過程,請參見自訂購買叢集。
|
配置項
|
說明
|
|
计费类型
|
選擇叢集的計費類型。更多資訊,請參見計費類型。
-
訂用帳戶:預付費模式。在建立叢集時,您需選擇固定規格的資源,並預先支付叢集的費用。購買周期越長,所享受的折扣也越大。該模式一般適用於業務需求長期穩定的情境。
-
隨用隨付:後付費模式。在建立叢集時,您需選擇固定規格的資源,但無需提前支付叢集的費用。該模式根據您實際使用的時間長度進行計費,一般適用於業務需求靈活的情境。
-
Serverless:後付費模式。在建立叢集時,您無需選擇固定規格的資源,也無需提前支付叢集的費用。該模式是指PolarDB叢集的動態彈性擴縮容能力,能夠根據系統業務負載的變化進行調整。一般適用於業務波動、不確定負載或不可預測的業務情境。
|
|
地區
|
選擇叢集的所在地區。
說明
請確保PolarDB與需要串連的ECS位於同一個地區,否則它們內網無法直接互連。
|
|
数据库引擎
|
選擇叢集的資料庫引擎。
說明
快速購買僅支援購買MySQL 8.0版本。若您需要購買其他MySQL版本,請在左上方選擇自定义购买頁簽。
|
|
產品版本
|
選擇叢集的產品版本。
|
|
网络类型
|
配置叢集的VPC網路和交換器。
|
|
部署模式(可選)
|
選擇叢集的節點個數以及高可用模式。更多資訊,請參見高可用模式(熱備叢集)。
說明
僅當計費類型為訂用帳戶或隨用隨付時,才需選擇叢集的高可用模式。
|
|
節點規格
|
選擇叢集的計算節點規格。您可以根據實際需求選擇,若您需要購買其他規格,請在左上方選擇自定义购买頁簽。
|
|
存储空间(可選)
|
配置叢集的儲存空間大小。
說明
僅當計費類型為訂用帳戶或隨用隨付,且產品版本為標準版時,才需配置叢集的儲存空間大小。
|
2. 配置白名單
您可以前往PolarDB控制台,在集群列表中單擊目的地組群ID進入叢集詳情頁。在中添加IP白名單或安全性群組。更多資訊,請參見設定叢集白名單與設定安全性群組。
說明
-
如果您是使用ECS訪問PolarDB,並且ECS與PolarDB位於同一VPC內,則可以將ECS所在的VPC網段添加至default分組中。
-
如果您是使用ECS訪問PolarDB,但ECS與PolarDB不在同一VPC內,則可以將ECS的公網IP地址添加至新的IP白名單分組,或將ECS所在的安全性群組添加至叢集白名單中。
-
如果您是在本地環境中訪問PolarDB,請將您本地環境的公網IP地址添加至新的IP白名單分組中。
本地環境的公網IP地址擷取方法如下:
-
Linux作業系統:開啟終端,輸入curl ifconfig.me命令後斷行符號。
-
Windows作業系統:開啟命令提示字元,輸入curl ip.me命令後斷行符號。
-
macOS作業系統:開啟終端,輸入curl ifconfig.me命令後斷行符號。
若您的本網環境存在代理等情況,以上方式擷取的IP可能並非您的真實公網IP。您可以將IP段0.0.0.0/0添加至PolarDB叢集白名單中,成功串連叢集後,執行SHOW PROCESSLIST;命令擷取真實公網IP地址,並將其加入到叢集白名單中。隨後刪除白名單中的IP段0.0.0.0/0。
xxx | aurora | 100.104.xxx.xxx:59236 | information_schema | Sleep | 47 | | NULL
268459868 | polardb_mysql_account | 47.94.74.xxx:39160 | NULL | Query | 0 | starting | SHOW PROCESSLIST
-
IP段0.0.0.0/0表示允許所有的訪問源訪問叢集,將其設定在叢集白名單中存在極大的風險,如非必要,切勿將其添加至白名單。
3. 建立資料庫帳號
您可以前往PolarDB控制台,在集群列表中單擊目的地組群ID進入叢集詳情頁。在中建立資料庫帳號。更多資訊,請參見建立和管理資料庫帳號。
說明
資料庫帳號類型分為高許可權帳號和普通帳號,這兩種帳號的許可權存在差異。您可以根據實際業務需求選擇建立相應的資料庫帳號。更多資訊,請參見帳號許可權。
4. 擷取叢集地址
您可以前往PolarDB控制台,在集群列表中單擊目的地組群ID進入叢集詳情頁。在数据库连接中擷取資料連線地址。更多資訊,請參見管理串連地址。在資料庫連接頁面,找到叢集地址【推薦】地區,單擊私網地址右側的複製擷取串連地址。
5. 串連資料庫
串連資料庫叢集的方法有很多種,您可以根據實際業務需求來選擇適合的串連方式。以下列舉了部分串連資料庫叢集的樣本:
使用DMS串連叢集
DMS是阿里雲提供的圖形化的資料管理工具,它是一種集資料管理、結構管理、使用者授權、安全審計、資料趨勢、資料追蹤、BI圖表、效能與最佳化和伺服器管理於一體的資料管理服務。您無需藉助其他工具,即可直接在DMS上管理您的PolarDB叢集。
-
前往PolarDB控制台,在集群列表中單擊目的地組群ID進入叢集詳情頁。在頁面右上方單擊登入資料庫。
-
在彈出的對話方塊中,輸入PolarDB MySQL版叢集中建立的資料庫帳號和資料庫密碼,單擊登录。
-
登入後,您可以在左側導覽列的已登入執行個體中查看到所登入的PolarDB MySQL版叢集,並進行相應的管理操作。
使用用戶端串連叢集
您可以使用任何通用的用戶端串連PolarDB叢集。此處以MySQL Workbench 8.0.29版本為例,其它用戶端的操作類似。
-
安裝MySQL Workbench。官方下載地址請參見MySQL Workbench下載頁面。
-
開啟MySQL Workbench,選擇。
-
輸入串連資訊,單擊OK。

|
參數
|
說明
|
樣本
|
|
Hostname
|
資料庫連接地址。
|
pc-2***.rwlb.rds.aliyuncs.com
|
|
Port
|
資料庫連接地址的連接埠號碼,與資料庫連接地址相對應。
|
3306
|
|
Username
|
資料庫帳號。
|
polardb_mysql_user
|
|
Password
|
資料庫帳號密碼。
|
Pass***233
|
使用命令列串連叢集
如果您的伺服器安裝了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。
-
如果連接埠號碼為預設連接埠,該參數可以不填寫。
|
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()
}
叢集管理
|
資料庫代理
|
監控與最佳化
|
版本管理
|
Binlog管理
|
|
|
|
|
|
常見問題
ECS無法串連PolarDB叢集
請您按以下步驟進行排查:
-
檢查PolarDB叢集的運行狀態是否為运行中。
-
檢查資料庫連接地址、連接埠、帳號及密碼是否正確。更多資訊,請參見擷取資料庫連接地址。
-
檢查網路因素,您可以在ECS內執行ping 資料庫連接地址或telnet 資料庫連接地址 連接埠來測試網路連通性。
-
若您使用的是私网地址:
-
檢查ECS與PolarDB叢集是否位於同一VPC下。若不在同一VPC下,則無法使用私网地址。您可以使用以下任意一種解決方案使ECS與PolarDB叢集位於同一VPC下:
-
檢查ECS的私網IP地址、IP段或安全性群組是否已添加至叢集白名單。
-
若您使用的是公网地址,檢查ECS的公網IP地址或安全性群組是否已添加至叢集白名單。
說明
暫不支援使用虛擬機器主機和輕量伺服器使用私网地址串連PolarDB叢集。
本地環境無法串連PolarDB叢集
請您按以下步驟進行排查:
-
檢查PolarDB叢集的運行狀態是否為运行中。
-
檢查資料庫連接地址、連接埠、帳號及密碼是否正確。更多資訊,請參見擷取資料庫連接地址。
說明
資料庫連接地址需為公网地址。若您使用的是ECS並與PolarDB叢集位於同一VPC下,可以使用私网地址。
-
檢查網路因素,您可以在本地環境執行ping <資料庫連接地址>或telnet <資料庫連接地址> <連接埠>來測試網路連通性。
-
檢查本地環境的公網IP地址或IP段是否已添加至叢集白名單。
本地環境的公網IP地址擷取方法如下:
-
Linux作業系統:開啟終端,輸入curl ifconfig.me命令後斷行符號。
-
Windows作業系統:開啟命令提示字元,輸入curl ip.me命令後斷行符號。
-
macOS作業系統:開啟終端,輸入curl ifconfig.me命令後斷行符號。
若您的本網環境存在代理等情況,以上方式擷取的IP可能並非您的真實公網IP。您可以將IP段0.0.0.0/0添加至PolarDB叢集白名單中,成功串連叢集後,執行SHOW PROCESSLIST;命令擷取真實公網IP地址,並將其加入到叢集白名單中。隨後刪除白名單中的IP段0.0.0.0/0。

無法串連PolarDB叢集,報錯:Access denied for user 'xxx'@'xxx' (using password: YES)
資料庫帳號或密碼錯誤,請檢查您是否輸入正確。您可以前往PolarDB控制台,在中管理資料庫帳號和密碼。
無法串連PolarDB叢集,報錯:Unknown MySQL server host 'xxx'
資料庫連接地址錯誤,請檢查您是否輸入正確,正確格式為pc-xxxxxx.rwlb.rds.aliyuncs.com。您可以前往PolarDB控制台,在中管理您的資料庫連接地址。
無法串連PolarDB叢集,報錯:Can't connect to MySQL server on 'xxx'或Connection timed out
可能是您當前環境的公網IP地址或IP段未被添加至PolarDB叢集的白名單中,或您填寫的公網IP地址或IP段存在錯誤。
本地環境的公網IP地址擷取方法如下:
-
Linux作業系統:開啟終端,輸入curl ifconfig.me命令後斷行符號。
-
Windows作業系統:開啟命令提示字元,輸入curl ip.me命令後斷行符號。
-
macOS作業系統:開啟終端,輸入curl ifconfig.me命令後斷行符號。
若您的本網環境存在代理等情況,以上方式擷取的IP可能並非您的真實公網IP。您可以將IP段0.0.0.0/0添加至PolarDB叢集白名單中,成功串連叢集後,執行SHOW PROCESSLIST;命令擷取真實公網IP地址,並將其加入到叢集白名單中。隨後刪除白名單中的IP段0.0.0.0/0。
