Data Management (DMS)、MySQL CLI、サードパーティの MySQL 互換クライアント、またはアプリケーションコードを使用して、PolarDB-X インスタンスに接続できます。
前提条件
PolarDB-X データベースに接続する前に、以下の手順を完了してください。
データベースへの接続
ワークロードに応じて、いくつかの方法でデータベースインスタンスに接続できます。以下のセクションでは、一般的な例を示します。
DMS
Data Management (DMS) は、Alibaba Cloud が提供するグラフィカルなデータ管理ツールです。データ管理、スキーマ管理、ユーザー権限付与、セキュリティ監査、データ傾向分析、データ追跡、BI チャート、パフォーマンス最適化、サーバー管理など、一連のサービスを統合しています。DMS を使用すると、他のツールを必要とせずに、お客様の PolarDB-X インスタンスを直接管理できます。
-
PolarDB for Distributed コンソールに移動します。インスタンスリスト リストで、ターゲットインスタンスの ID をクリックして詳細ページを開きます。ページの右上隅にある データベースにログイン をクリックします。
-
ダイアログボックスで、PolarDB-X インスタンスの データベースアカウント と データベースパスワード を入力し、お 問い合わせ をクリックします。
説明-
初めて DMS を使用してログインする場合、コントロールモードはデフォルトで [柔軟な管理] です。ログイン後、インスタンスを編集してコントロールモードを変更できます。詳細については、「インスタンス情報の編集」および「コントロールモード」をご参照ください。
-
ログインパラメーターを設定した後、左下隅の テスト接続 をクリックできます。接続に失敗した場合は、エラーメッセージを確認し、アカウントやパスワードなど、入力した情報を確認してください。
-
システムは、DMS サーバーの IP アドレスを PolarDB-X インスタンスのホワイトリストに自動的に追加しようとします。この試行が失敗した場合は、手動で IP アドレスを追加する必要があります。
-
-
ログインすると、PolarDB-X インスタンスが左側のナビゲーションウィンドウの[接続済みインスタンス]セクションに表示され、管理できるようになります。
GUI クライアント
PolarDB-X は、以下のサードパーティクライアントからの接続をサポートしています。これらのクライアントは、公式サイトからダウンロードできます。
-
MySQL Workbench (推奨)
-
SQLyog
-
Sequel Pro
-
Navicat for MySQL
サードパーティの GUI クライアントは、CRUD や DDL を含む基本的なデータベース操作をサポートします。クライアント固有の高度な機能は、PolarDB-X ではサポートされていない場合があります。
次の手順では、MySQL Workbench 8.0.29 を例として使用します。他のクライアントも同様の手順に従います。
-
MySQL Workbench をインストールします。公式ダウンロードリンクについては、「MySQL Workbench のダウンロードページ」をご参照ください。
-
MySQL Workbench を開き、 を選択します。
-
接続情報を入力し、[OK] をクリックします。
パラメーター
説明
例
Hostname
pxc-xxx.polarx.rds.aliyuncs.com
Port
データベースエンドポイントに対応するポート番号。
説明デフォルトのポートは 3306 です。
3306
Username
polardb_x_user
Password
データベースアカウントのパスワード。
Pass***233
MySQL CLI
サーバーに MySQL クライアントがインストールされている場合、コマンドラインを使用して PolarDB-X インスタンスに接続できます。
構文:
mysql -h<endpoint> -P<port> -u<database_username> -p<database_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-X インスタンスにアクセスする方法を示します。
Java
この例では、Maven プロジェクトと MySQL JDBC ドライバーを使用して PolarDB-X インスタンスに接続します。
-
まず、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-X インスタンスのエンドポイント、ポート、データベース名 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
この例では、Python 3 と PyMySQL ライブラリを使用して、PolarDB-X インスタンスに接続します。
-
PyMySQL ライブラリをインストールします。インストールされていない場合は、次のコマンドを実行します:
pip3 install PyMySQL -
インスタンスに接続します。パラメーター
<HOST>、ポート番号、<USER>、<PASSWORD>、<DATABASE>、および<YOUR_TABLE_NAME>を置き換えてください。import pymysql # 接続パラメーター host = '<HOST>' # PolarDB-X インスタンスのエンドポイント 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
この例では、Go 1.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-X インスタンスのエンドポイント 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() // サーバーに PING を送信して接続をテスト 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) } }