TiDB に接続する
TiDB は MySQL プロトコルと高い互換性があります。クライアント リンク パラメータの完全なリストについては、 MySQL クライアント オプションを参照してください。
TiDB はMySQL クライアント/サーバー プロトコルをサポートします。これにより、ほとんどのクライアント ドライバーと ORM フレームワークは、MySQL に接続するのと同じように TiDB に接続できます。
個人の好みに応じて、MySQL クライアントまたは MySQL シェルを使用することを選択できます。
MySQL クライアント
TiDB のコマンドライン ツールとして使用できる MySQL クライアントを使用して TiDB に接続できます。 MySQL クライアントをインストールするには、以下の YUM ベースの Linux ディストリビューションの手順に従ってください。
sudo yum install mysql
インストール後、次のコマンドを使用して TiDB に接続できます。
mysql --host <tidb_server_host> --port 4000 -u root -p --comments
MySQL シェル
TiDB のコマンドライン ツールとして使用できる MySQL Shell を使用して TiDB に接続できます。 MySQL Shell をインストールするには、 MySQL シェルのドキュメントの手順に従います。インストール後、次のコマンドを使用して TiDB に接続できます。
mysqlsh --sql mysql://root@<tidb_server_host>:4000
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}&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}
に変更する必要があります。- 方言
TiDB
をhibernate.dialect
~org.hibernate.dialect.TiDBDialect
に設定して使用することをお勧めします。 - Hibernate は
6.0.0.Beta2
から始まる TiDB ダイアレクトをサポートするため、Hibernate6.0.0.Beta2
以降のバージョンを使用して TiDB に接続することをお勧めします。
Hibernate 接続パラメーターの詳細については、 休止状態のドキュメントを参照してください。
接続パラメータ
パラメータ名 | 説明 |
---|---|
{username} | TiDB クラスターに接続するための SQL ユーザー |
{password} | SQL ユーザーのパスワード |
{host} | TiDB ノードのホスト |
{port} | TiDB ノードがリッスンしているポート |
{database} | 既存のデータベースの名前 |
TiDB SQLユーザーの詳細については、 TiDB ユーザー アカウント管理を参照してください。