PolarDB-X は、データ管理 (DMS)、MySQL コマンドライン、サードパーティクライアント、および公式の MySQL 相互作用プロトコルに準拠したサードパーティプログラムコードを介した接続をサポートしています。
準備
PolarDB-X データベースに接続する前に、次の操作を実行する必要があります。
データベースに接続する
データベースインスタンスに接続する方法はたくさんあります。実際のビジネスニーズに基づいて適切な接続方法を選択できます。データベースインスタンスに接続する例を次に示します。
DMS を使用してデータベースに接続する
DMS は、Alibaba Cloud が提供するグラフィカルデータ管理ツールです。データ管理、構造管理、ユーザー権限付与、セキュリティ監査、データトレンド、データ追跡、BI チャート、パフォーマンスと最適化、およびサーバー管理を統合したデータ管理サービスです。他のツールを使用せずに、DMS で PolarDB-X インスタンスを直接管理できます。
PolarDB 分散版コンソール に移動し、[インスタンス一覧] のターゲット インスタンス ID をクリックして、インスタンスの製品ページに移動します。ページの右上隅にある [データベースにログイン] をクリックします。

ポップアップ ダイアログボックスで、PolarDB-X インスタンスで作成した [データベースアカウント] と [データベースパスワード] を入力し、[ログイン] をクリックします。
説明DMS を介して初めてログインする場合、制御モードはデフォルトで [柔軟な管理] になります。ログインに成功した後、インスタンス編集機能を使用して制御モードを変更することもできます。詳細については、「インスタンス情報を編集する」および「制御モード」をご参照ください。
ログインパラメータを構成した後、左下隅にある [接続テスト] をクリックできます。接続テストが失敗した場合は、エラープロンプトに従って入力したインスタンス情報 (アカウントまたはパスワードが正しいかどうかなど) を確認してください。
システムは、DMS のサーバーアクセスアドレスをクラウドデータベースのホワイトリストに自動的に追加しようとします。自動追加が失敗した場合は、手動で追加してください。
ログイン後、左側のナビゲーションウィンドウの [ログイン済みインスタンス] セクション内でログインしている PolarDB-X インスタンスを表示し、必要な管理操作を実行できます。

クライアントを使用してデータベースに接続する
PolarDB-X は、次のサードパーティクライアントを介した接続をサポートしています。対応する公式 Web サイトからクライアントをダウンロードできます。
MySQL Workbench (推奨)
SQLyog
Sequel Pro
Navicat for MySQL
サードパーティの GUI クライアントは、データの追加、削除、変更、クエリ、DDL 操作などの基本的なデータベース操作を実行できます。ツールの高度な機能については、PolarDB-X はそれらをサポートしていない可能性があります。
以下では、MySQL Workbench バージョン 8.0.29 を例として使用します。他のクライアントの操作も同様です。
MySQL Workbench をインストールします。公式のダウンロードアドレスについては、「MySQL Workbench ダウンロードページ」をご参照ください。
MySQL Workbench を開き、 を選択します。
接続情報を入力し、[OK] をクリックします。

パラメータ
説明
例
ホスト名
pxc-xxx.polarx.rds.aliyuncs.com
ポート
データベース接続アドレスのポート番号。データベース接続アドレスに対応します。
説明デフォルトポートは 3306 です。
3306
ユーザー名
polardb_x_user
パスワード
データベースアカウントのパスワード。
Pass***233
MySQL コマンドラインを使用してデータベースに接続する
サーバーに MySQL クライアントがインストールされている場合は、コマンドラインを介して PolarDB-X インスタンスに接続できます。
構文:
mysql -h<connection address> -P<port> -u<database username> -p<database user password> -D<database name>例:
mysql -hpxc-xxx.polarx.rds.aliyuncs.com -P3306 -upolardb_mysql_user -pPass***233 -Dtest_dbパラメータ | 説明 | 例 |
-h | pxc-xxx.polarx.rds.aliyuncs.com | |
-P | データベース接続アドレスのポート番号。データベース接続アドレスに対応します。 説明
| 3306 |
-u | polardb_x_user | |
-p | データベースアカウントのパスワード。 説明 このパラメータは必須です。
| Pass***233 |
-D | ログインするデータベースの名前。 説明 このパラメータは必須ではありません。 | test_db |
アプリケーションを使用してデータベースに接続する
PolarDB-X インスタンスに接続する方法は、他の MySQL データベースに接続する方法と同じです。データベースの接続アドレス、ポート、アカウント、およびパスワードを置き換えるだけです。以下に、いくつかの開発言語でアプリケーションを介して PolarDB データベースにアクセスする方法を示します。
Java
この例では、Maven プロジェクトを使用して、MySQL JDBC ドライバーを使用して PolarDB-X インスタンスに接続します。
まず、
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-X インスタンスに接続します。
まず、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-X インスタンスに接続します。
まず、
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() // クエリ結果を処理する for rows.Next() { var id int var name string if err := rows.Scan(&id, &name); err != nil { log.Fatalf("行のスキャンに失敗しました: %v", err) } fmt.Printf("ID: %d, Name: %s\n", id, name) } // エラーを確認する if err := rows.Err(); err != nil { log.Fatalf("反復中にエラーが発生しました: %v", err) } }


