重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

TiDBに接続する

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

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

MySQLシェル

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

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

ノート:

バージョン5.7.7より前のMySQLシェルは、デフォルトでオプティマイザーのヒントをクリアします。以前のMySQLシェルバージョンでヒント構文を使用する必要がある場合は、クライアントの起動時に--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}既存のデータベースの名前

Hibernate

Hibernate 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}に変更する必要があります。
  • hibernate.dialectからorg.hibernate.dialect.TiDBDialectに設定して、 TiDB方言を使用することをお勧めします。
  • Hibernateは6.0.0.Beta2から始まるTiDBダイアレクトをサポートしているため、 6.0.0.Beta2への接続にはHibernate3以降のバージョンを使用することをお勧めします。

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

接続パラメータ

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