TiDBに接続する
TiDB は MySQL プロトコルと高い互換性があります。クライアント リンク パラメータの完全なリストについては、 MySQL クライアント オプション参照してください。
TiDB はMySQL クライアント/サーバー プロトコルサポートしており、これにより、ほとんどのクライアント ドライバーと ORM フレームワークが MySQL に接続するのと同じように TiDB に接続できるようになります。
マイグレーション
個人の好みに応じて、MySQL クライアントまたは MySQL シェルの使用を選択できます。
- MySQL Client
- MySQL Shell
TiDB のコマンドライン ツールとして使用できる MySQL クライアントを使用して TiDB に接続できます。MySQL クライアントをインストールするには、YUM ベースの Linux ディストリビューションの以下の手順に従ってください。
sudo yum install mysql
インストール後、次のコマンドを使用して TiDB に接続できます。
mysql --host <tidb_server_host> --port 4000 -u root -p --comments
TiDB のコマンドライン ツールとして使用できる MySQL Shell を使用して TiDB に接続できます。MySQL Shell をインストールするには、 MySQL Shell ドキュメント手順に従ってください。インストール後、次のコマンドを使用して TiDB に接続できます。
mysqlsh --sql mysql://root@<tidb_server_host>:4000
ODBC ドライバ
ODBC ドライバドライバーを使用して TiDB に接続できます。そのためには、 MysqlDataSource
またはMysqlConnectionPoolDataSource
オブジェクト (両方のオブジェクトともDataSource
インターフェイスをサポート) を作成し、 setURL
関数を使用して接続文字列を設定する必要があります。
例えば:
MysqlDataSource mysqlDataSource = new MysqlDataSource();
mysqlDataSource.setURL("jdbc:mysql://{host}:{port}/{database}?user={username}&password={password}");
JDBC接続の詳細については、 JDBC ドキュメント参照してください。
接続パラメータ
パラメータ名 | 説明 |
---|---|
{username} | TiDB クラスターに接続するための SQL ユーザー |
{password} | SQLユーザーのパスワード |
{host} | TiDBノードのホスト |
{port} | TiDBノードがリッスンしているポート |
{database} | 既存のデータベースの名前 |
TiDB SQLユーザーの詳細については、 TiDB ユーザーアカウント管理参照してください。
休止状態
ハイバネートORM使用して TiDB に接続できます。そのためには、Hibernate 構成ファイルでhibernate.connection.url
有効な TiDB 接続文字列に設定する必要があります。
たとえば、 hibernate.cfg.xml
構成ファイルを使用する場合は、 hibernate.connection.url
次のように設定します。
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.dialect">org.hibernate.dialect.TiDBDialect</property>
<property name="hibernate.connection.url">jdbc:mysql://{host}:{port}/{database}?user={user}&password={password}</property>
</session-factory>
</hibernate-configuration>
設定が完了したら、次のコマンドを使用して設定ファイルを読み取り、 SessionFactory
オブジェクトを取得できます。
SessionFactory sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
次の点に注意してください。
hibernate.cfg.xml
構成ファイルは XML 形式であり、&
XML の特殊文字であるため、ファイルを構成するときに&
を&
に変更する必要があります。たとえば、接続文字列hibernate.connection.url
jdbc:mysql://{host}:{port}/{database}?user={user}&password={password}
からjdbc:mysql://{host}:{ port}/{database}?user={user}&password={password}
に変更する必要があります。hibernate.dialect
〜org.hibernate.dialect.TiDBDialect
に設定してTiDB
方言を使用することをお勧めします。- Hibernate は
6.0.0.Beta2
以降の TiDB 方言をサポートしているため、TiDB に接続するには Hibernate6.0.0.Beta2
以降のバージョンを使用することをお勧めします。
Hibernate 接続パラメータの詳細については、 Hibernate ドキュメント参照してください。
接続パラメータ
パラメータ名 | 説明 |
---|---|
{username} | TiDB クラスターに接続するための SQL ユーザー |
{password} | SQLユーザーのパスワード |
{host} | TiDBノードのホスト |
{port} | TiDBノードがリッスンしているポート |
{database} | 既存のデータベースの名前 |
TiDB SQLユーザーの詳細については、 TiDB ユーザーアカウント管理参照してください。
助けが必要?
TiDB コミュニティ 、またはサポートチケットを作成するについて質問します。