準備
クラスタに接続する前に、次の操作を実行します。
データベースのエンドポイントとポートを取得する
PolarDB コンソール にログインします。 左側のナビゲーションウィンドウで [クラスタ] をクリックします。 左上隅でリージョンを選択し、リスト内のクラスタの ID をクリックして [基本情報] ページに移動します。 [データベース接続] セクションで エンドポイント を取得します。
説明 [クラスタエンドポイント] を使用することをお勧めします。 デフォルトのポート番号は 3306 です。
アクセス環境に基づいて、[プライベート] エンドポイントまたは [パブリック] エンドポイントを使用します。
ECS インスタンスから PolarDB クラスタにアクセスする場合、ECS インスタンスが PolarDB クラスタと同じ VPC にある場合は、[プライベート] エンドポイントを使用します。
ローカル環境から PolarDB クラスタにアクセスする場合は、[パブリック] エンドポイントを使用します。 パブリックエンドポイントを申請するには、パブリックエンドポイントの右側にある [適用] をクリックします。
PolarDB クラスタは、[パブリックエンドポイント] を使用して接続されている場合、最適なパフォーマンスを実現できません。
仮想ホストおよび軽量サーバーは、[プライベート] エンドポイントを使用して PolarDB クラスタに接続するために使用することはできません。
データベースアカウントを作成する
PolarDB コンソール にログインします。 左側のナビゲーションウィンドウで [クラスタ] をクリックします。 左上隅でリージョンを選択し、リスト内のクラスタの ID をクリックして [基本情報] ページに移動します。 を選択して、データベースアカウントを作成します。
IP ホワイトリストを設定する
PolarDB コンソール にログインします。 左側のナビゲーションウィンドウで [クラスタ] をクリックします。 左上隅でリージョンを選択し、リスト内のクラスタの ID をクリックして [基本情報] ページに移動します。 を選択して、IP アドレスホワイトリスト または セキュリティグループ を追加します。

説明 ECS インスタンスから PolarDB クラスタにアクセスする場合、ECS インスタンスが PolarDB クラスタと同じ VPC にある場合は、ECS インスタンスのプライベート IP アドレスを IP アドレスホワイトリストに追加するか、ECS インスタンスが属するセキュリティグループをクラスタホワイトリストに追加します。
ECS インスタンスから PolarDB クラスタにアクセスする場合、ECS インスタンスが PolarDB クラスタと異なる VPC にある場合は、ECS インスタンスのパブリック IP アドレスを新しい IP アドレスホワイトリストに追加するか、ECS インスタンスが属するセキュリティグループをクラスタホワイトリストに追加できます。
ローカル環境から PolarDB クラスタにアクセスする場合は、ローカル環境のパブリック IP アドレスを新しい IP アドレスホワイトリストに追加します。
ローカル環境のパブリック IP アドレスを取得するには、次の方法を使用します。
Linux: CLI を開き、curl ifconfig.me
コマンドを入力して、Enter キーを押します。
Windows: コマンドプロンプトを開き、curl ip.me
コマンドを入力して、Enter キーを押します。
macOS: ターミナルを起動し、curl ifconfig.me
コマンドを入力して、Enter キーを押します。
ローカルネットワーク環境でプロキシが使用されている場合、前述の方法で取得された IP アドレスは実際のパブリック IP アドレスではない可能性があります。 0.0.0.0/0
CIDR ブロックを PolarDB クラスタのホワイトリストに追加できます。 クラスタに接続した後、SHOW PROCESSLIST;
コマンドを実行してパブリック IP アドレスを取得し、クラスタのホワイトリストに追加します。 その後、0.0.0.0/0
CIDR ブロックをホワイトリストから削除します。

IP ホワイトリストの 0.0.0.0/0
は、すべてのソースがクラスタへのアクセスを許可されていることを示します。 必要な場合を除き、0.0.0.0/0 をクラスタの IP ホワイトリストに追加しないでください。
準備が完了したら、データベースクラスタに接続できます。
クラスタに接続する
ビジネス要件に基づいて接続方法を選択できます。 クラスタへの接続例を以下に示します。
DMS を使用してクラスタに接続する
DMS は、Alibaba Cloud が提供する視覚化されたデータ管理サービスです。 DMS は、データ管理、スキーマ管理、アクセスの制御、セキュリティ監査、ビジネスインテリジェンス (BI) チャート、データトレンド、データ追跡、パフォーマンスの最適化、サーバー管理などのさまざまな管理サービスを提供します。 他のツールを使用せずに、DMS で PolarDB クラスタを管理できます。
PolarDB コンソール にログインします。 左側のナビゲーションウィンドウで [クラスタ] をクリックします。 左上隅でリージョンを選択し、リスト内のクラスタの ID をクリックして [基本情報] ページに移動します。 ページの右上隅にある [データベースにログイン] をクリックします。
表示されるダイアログボックスで、PolarDB for MySQL クラスタ用に作成した [データベースアカウント] と [データベースパスワード] を入力し、[ログイン] をクリックします。
PolarDB for MySQL クラスタにログインした後、左側のナビゲーションウィンドウで [接続済みインスタンス] をクリックして、PolarDB for MySQL クラスタを表示および管理します。
クライアントを使用してクラスタに接続する
MySQL クライアントを使用して PolarDB クラスタに接続できます。 この例では、MySQL Workbench 8.0.29 を使用しています。 他のタイプのクライアントを使用する場合の操作も同様です。
MySQL Workbench をインストールします。 詳細については、MySQL Workbench ダウンロードページ をご覧ください。
MySQL Workbench を起動し、 を選択します。
接続情報を入力し、[OK] をクリックします。

パラメーター | 説明 | 例 |
ホスト名 | データベースエンドポイント。 詳細については、「データベース接続」をご参照ください。 | pc-2***.rwlb.rds.aliyuncs.com |
ポート | データベースエンドポイントに対応するポート番号。 | 3306 |
ユーザー名 | データベースアカウント。 詳細については、「データベースアカウントを作成する」をご参照ください。 | polardb_mysql_user |
パスワード | データベースアカウントのパスワード。 | Pass***233 |
CLI を使用してクラスタに接続する
サーバーに MySQL クライアントがインストールされている場合は、CLI でコマンドを実行して PolarDB for MySQL クラスタに接続できます。
構文:
mysql -h <Endpoint> -P <Port> -u <Account> -p <Password>
例:
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 for MySQL クラスタへの接続は、通常の MySQL データベースへの接続と似ています。 データベースのエンドポイント、ポート、アカウント、およびパスワードを置き換えるだけです。 次の例は、いくつかの開発言語でアプリケーションを使用して PolarDB データベースにアクセスする方法を示しています。
Java
この例では、Maven プロジェクトを使用して、MySQL JDBC ドライバーを使用して PolarDB for MySQL クラスタに接続します。
最初に、MySQL JDBC ドライバーの依存関係を pom.xml ファイルに追加します。 サンプルコード:
<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 for 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 for 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 (データソース名) を構築します
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("データベースへの接続に失敗しました: %v", err)
}
defer db.Close()
// 接続をテストします。
err = db.Ping()
if err != nil {
log.Fatalf("データベースの ping に失敗しました: %v", err)
}
// カーソルを作成します。
var result string
err = db.QueryRow("SELECT VERSION()").Scan(&result)
if err != nil {
log.Fatalf("クエリの発行に失敗しました: %v", err)
}
// データベースバージョンを出力します。
fmt.Printf("データベースに接続しました。バージョン: %s\n", result)
// SQL クエリを実行します。
rows, err := db.Query("SELECT * FROM '<YOUR_TABLE_NAME>'") // クエリされるデータテーブルの名前。
if err != nil {
log.Fatalf("クエリの発行に失敗しました: %v", err)
}
defer rows.Close()
FAQ
ECS インスタンスを PolarDB クラスタに接続できないのはなぜですか?PolarDB注意:
次の手順を使用して、問題のトラブルシューティングを行います。
PolarDB クラスタが [実行中] 状態であることを確認します。
データベースのエンドポイント、ポート、アカウント、およびパスワードが正しいことを確認します。 詳細については、「データベースのエンドポイントとポートを取得する」をご参照ください。
ネットワークの状態を確認します。 ECS インスタンスで ping
または telnet
コマンドを実行して、ネットワーク接続をテストできます。
[プライベート] エンドポイントを使用している場合:
ECS インスタンスと PolarDB クラスタが同じ VPC に存在するかどうかを確認します。 そうでない場合は、[プライベート] エンドポイントを使用できません。 次のいずれかの方法を使用して、ECS インスタンスと PolarDB クラスタを同じ VPC に配置できます。
ECS インスタンスのプライベート IP アドレス、CIDR ブロック、またはセキュリティグループが PolarDB クラスタのホワイトリストに追加されているかどうかを確認します。 詳細については、「ホワイトリストを設定する」をご参照ください。
[パブリック] エンドポイントを使用している場合は、ECS インスタンスのパブリック IP アドレスまたはセキュリティグループが PolarDB クラスタのホワイトリストに追加されているかどうかを確認します。 詳細については、「ホワイトリストを設定する」をご参照ください。
説明 仮想ホストおよび軽量サーバーは、[プライベート] エンドポイントを使用して PolarDB クラスタに接続するために使用することはできません。
ローカル環境から PolarDB クラスタに接続できないのはなぜですか?PolarDBクラスタ
次の手順を使用して、問題のトラブルシューティングを行います。
PolarDB クラスタが [実行中] 状態であることを確認します。
データベースのエンドポイント、ポート、アカウント、およびパスワードが正しいことを確認します。 詳細については、「データベースのエンドポイントとポートを取得する」をご参照ください。
説明 [パブリック] エンドポイントを使用する必要があります。 PolarDB クラスタと同じ VPC に存在する ECS インスタンスを使用している場合は、[プライベート] エンドポイントを使用できます。
ネットワークの状態を確認します。 ローカル環境で ping
または telnet
コマンドを実行して、ネットワーク接続をテストできます。
ローカル環境のパブリック IP アドレスまたは CIDR ブロックが PolarDB クラスタのホワイトリストに追加されているかどうかを確認します。 詳細については、「ホワイトリストを設定する」をご参照ください。
ローカル環境のパブリック IP アドレスを取得するには、次の方法を使用します。
Linux: CLI を開き、curl ifconfig.me
コマンドを入力して、Enter キーを押します。
Windows: コマンドプロンプトを開き、curl ip.me
コマンドを入力して、Enter キーを押します。
macOS: ターミナルを起動し、curl ifconfig.me
コマンドを入力して、Enter キーを押します。
ローカルネットワーク環境でプロキシが使用されている場合、前述の方法で取得された IP アドレスは実際のパブリック IP アドレスではない可能性があります。 0.0.0.0/0
CIDR ブロックを PolarDB クラスタのホワイトリストに追加できます。 クラスタに接続した後、SHOW PROCESSLIST;
コマンドを実行してパブリック IP アドレスを取得し、クラスタのホワイトリストに追加します。 その後、0.0.0.0/0
CIDR ブロックをホワイトリストから削除します。

PolarDB クラスタに接続できません。 次のエラーが返されます: Access denied for user 'xxx'@'xxx' (using password: YES)PolarDBおめでとうございます!
データベースアカウントまたはパスワードが正しくありません。 正しいアカウントとパスワードを入力していることを確認してください。 PolarDB コンソール にログインし、 を選択して、データベースアカウントとパスワードを管理できます。
PolarDB クラスタに接続できません。 次のエラーが返されます: Unknown MySQL server host 'xxx'
JavaScript から WordPress REST API を使用する
JavaScript から WordPress REST API を使用する
このチュートリアルでは、JavaScript を使用して WordPress REST API と対話する方法を学びます。WordPress REST API を使用すると、WordPress データにアクセスし、JavaScript アプリケーションで使用できます。
REST API エンドポイント
WordPress REST API には、さまざまなデータにアクセスするためのさまざまなエンドポイントがあります。最も一般的なエンドポイントには、次のようなものがあります。
/wp/v2/posts: 投稿を取得または作成します。
/wp/v2/pages: 固定ページを取得または作成します。
/wp/v2/media: メディアを取得または作成します。
JavaScript で REST API を使用する
JavaScript で REST API を使用するには、fetch API を使用できます。たとえば、最新の投稿を取得するには、次のコードを使用できます。
fetch('/wp/v2/posts')
.then(response => response.json())
.then(posts => {
// 投稿データを処理します。
console.log(posts);
});
詳細については、「WordPress REST API の公式ドキュメント」をご参照ください。
注: このチュートリアルでは、基本的な JavaScript の知識があることを前提としています。
WordPress バージョン 5.0 以上が必要です。
```クラスター。次のエラーが返されます: 不明な MySQL サーバー ホスト 'xxx'
データベースエンドポイントが正しくありません。 正しいエンドポイントを入力していることを確認してください。 エンドポイントの形式は pc-xxxxxx.rwlb.rds.aliyuncs.com です。 PolarDB コンソール にログインし、 を選択して、データベースのエンドポイントを管理できます。
PolarDB クラスタに接続できません。 次のエラーが返されます:PolarDBクラスター。次のエラーが返されます。 Can't connect to MySQL server on 'xxx'or Connection timed out
現在の環境のパブリック IP アドレスまたは CIDR ブロックが PolarDB クラスタのホワイトリストに追加されていないか、ホワイトリストに追加されたパブリック IP アドレスまたは CIDR ブロックが正しくない可能性があります。
ローカル環境のパブリック IP アドレスを取得するには、次の方法を使用します。
Linux: CLI を開き、curl ifconfig.me
コマンドを入力して、Enter キーを押します。
Windows: コマンドプロンプトを開き、curl ip.me
コマンドを入力して、Enter キーを押します。
macOS: ターミナルを起動し、curl ifconfig.me
コマンドを入力して、Enter キーを押します。
ローカルネットワーク環境でプロキシが使用されている場合、前述の方法で取得された IP アドレスは実際のパブリック IP アドレスではない可能性があります。 0.0.0.0/0
CIDR ブロックを PolarDB クラスタのホワイトリストに追加できます。 クラスタに接続した後、SHOW PROCESSLIST;
コマンドを実行してパブリック IP アドレスを取得し、クラスタのホワイトリストに追加します。 その後、0.0.0.0/0
CIDR ブロックをホワイトリストから削除します。

DMS で PolarDB クラスタの接続方法をプライマリエンドポイントからクラスタエンドポイントに変更するにはどうすればよいですか?PolarDB プライマリエンドポイントからクラスターエンドポイントへの DMS のクラスター?
デフォルトでは、データ管理 (DMS) はプライマリエンドポイントを使用して PolarDB クラスタに接続します。 ただし、IMCI や PolarDB for AI などのクラスタの特定の機能を使用するには、クラスタエンドポイントを使用してクラスタに接続し、PolarProxy が SQL クエリを適切なノードに正しくルーティングできるようにする必要があります。
DMS で PolarDB クラスタの接続方法をプライマリエンドポイントからクラスタエンドポイントに変更するには、次の手順に従います。PolarDBヒント:
DMS にアクセスし、PolarDB クラスタに接続します。 DMS の左側のナビゲーションウィンドウで、 > [接続済みインスタンス] を選択し、クラスタを見つけます。 クラスタを右クリックし、[編集] を選択します。

[編集] ダイアログボックスで、[基本情報] セクションに移動します。 [接続方法] パラメーターを [接続文字列アドレス] に変更し、[クラスタエンドポイント] を入力して、[保存] をクリックします。
重要 PolarDB クラスタにアクセスするための接続文字列を変更した後、元の SQL ウィンドウを閉じて新しいウィンドウを開き、更新された設定が有効になっていることを確認します。