TiDBに接続する
このガイドでは、 pytidbクライアントを使用して TiDB データベースに接続する方法を説明します。
依存関係をインストールする
pytidbはSQLアルケミーベースに構築された Python クライアントです。生の SQL を書かずにベクトル埋め込みを保存および検索するための一連の高レベル API を提供します。
Python クライアントをインストールするには、次のコマンドを実行します。
pip install pytidb
接続パラメータを使用して接続する
TiDB の展開タイプに基づいて手順を選択します。
TiDB Cloud Starterクラスターを作成する実行してから、次のように Web コンソールから接続パラメータを取得できます。
- クラスターページに移動し、ターゲット クラスターの名前をクリックして概要ページに移動します。
- 右上隅の「接続」をクリックします。接続パラメータがリストされた接続ダイアログが表示されます。
- 接続パラメータをコードまたは環境変数にコピーします。
コード例:
from pytidb import TiDBClient
db = TiDBClient.connect(
host="{gateway-region}.prod.aws.tidbcloud.com",
port=4000,
username="{prefix}.root",
password="{password}",
database="test",
)
注記:
TiDB Cloud Starterでは、パブリックエンドポイントを使用する場合はデータベースへのTLS接続必要です。3クライアント
pytidb、TiDB Cloud StarterクラスターのTLSを自動的に有効化します。
テスト用に TiDB クラスターをデプロイするには、手順TiDBセルフマネージドのクイックスタートに従います。
コード例:
from pytidb import TiDBClient
db = TiDBClient.connect(
host="{tidb_server_host}",
port=4000,
username="root",
password="{password}",
database="test",
)
注記:
テスト用に TiDB クラスターをデプロイするために
tiup playground使用している場合、デフォルトのホストは127.0.0.1で、デフォルトのパスワードは空です。
接続すると、 dbオブジェクトを使用してテーブルを操作したり、データを照会したりできるようになります。
接続文字列で接続する
接続文字列 (データベース URL) を使用する場合は、展開タイプに応じて次の形式に従います。
TiDB Cloud Starterクラスターを作成する実行してから、次のように Web コンソールから接続パラメータを取得できます。
- クラスターページに移動し、ターゲット クラスターの名前をクリックして概要ページに移動します。
- 右上隅の「接続」をクリックします。接続パラメータがリストされた接続ダイアログが表示されます。
- 接続パラメータをコピーし、次の形式で接続文字列を作成します。
from pytidb import TiDBClient
db = TiDBClient.connect(
database_url="mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}?ssl_verify_cert=true&ssl_verify_identity=true",
)
注記:
TiDB Cloud Starter の場合、パブリック エンドポイントを使用する場合はデータベースへのTLS接続必要なので、接続文字列に
ssl_verify_cert=true&ssl_verify_identity=true設定する必要があります。
接続文字列を構築するには、以下の形式に従います。
from pytidb import TiDBClient
db = TiDBClient.connect(
database_url="mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}",
)
注記:
tiup playground使用してテスト用の TiDB クラスターをデプロイする場合、接続文字列は次のようになります。mysql+pymysql://root:@127.0.0.1:4000/test
SQLAlchemy DBエンジンに接続する
アプリケーションにすでに SQLAlchemy データベース エンジンがある場合は、 db_engineパラメータを使用してそれを再利用できます。
from pytidb import TiDBClient
db = TiDBClient(db_engine=db_engine)
次のステップ
TiDB データベースに接続したら、次のガイドを参照してデータの操作方法を学習できます。