TiDB に接続する

TiDB は MySQL プロトコルと高い互換性があります。クライアント リンク パラメータの完全なリストについては、 MySQL クライアント オプションを参照してください。

TiDB はMySQL クライアント/サーバー プロトコルをサポートします。これにより、ほとんどのクライアント ドライバーと ORM フレームワークは、MySQL に接続するのと同じように TiDB に接続できます。

MySQL シェル

TiDB のコマンドライン ツールとして使用できる MySQL Shell を使用して TiDB に接続できます。 MySQL Shell をインストールするには、 MySQL シェルのドキュメントの手順に従います。インストール後、次のコマンドを使用して TiDB に接続できます。

mysql --host <tidb_server_host> --port 4000 -u root -p --comments

ノート:

バージョン 5.7.7 より前の MySQL Shell は、デフォルトでオプティマイザーのヒントをクリアします。以前の MySQL Shell バージョンで Hint 構文を使用する必要がある場合は、クライアントの起動時に--commentsオプションを追加します。

JDBC

JDBCドライバーを使用して 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}&amp;password={password}</property> </session-factory> </hibernate-configuration>

構成が完了したら、次のコマンドを使用して構成ファイルを読み取り、 SessionFactoryのオブジェクトを取得できます。

SessionFactory sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();

次の点に注意してください。

  • hibernate.cfg.xmlの構成ファイルは XML 形式であり、 &は XML の特殊文字であるため、ファイルを構成するときに&&amp;に変更する必要があります。たとえば、接続文字列hibernate.connection.urljdbc:mysql://{host}:{port}/{database}?user={user}&password={password}からjdbc:mysql://{host}:{ port}/{database}?user={user}&amp;password={password}に変更する必要があります。
  • 方言TiDBhibernate.dialectorg.hibernate.dialect.TiDBDialectに設定して使用することをお勧めします。
  • Hibernate は6.0.0.Beta2から始まる TiDB ダイアレクトをサポートするため、Hibernate 6.0.0.Beta2以降のバージョンを使用して TiDB に接続することをお勧めします。

Hibernate 接続パラメーターの詳細については、 休止状態のドキュメントを参照してください。

接続パラメータ

パラメータ名説明
{username}TiDB クラスターに接続するための SQL ユーザー
{password}SQL ユーザーのパスワード
{host}TiDB ノードのホスト
{port}TiDB ノードがリッスンしているポート
{database}既存のデータベースの名前

TiDB SQLユーザーの詳細については、 TiDB ユーザー アカウント管理を参照してください。