TiDB に接続する
TiDB は MySQL プロトコルと高い互換性があります。クライアント リンク パラメータの完全なリストについては、 MySQL クライアントのオプションを参照してください。
TiDB はMySQL クライアント/サーバー プロトコルサポートしており、ほとんどのクライアント ドライバーと ORM フレームワークが MySQL に接続するのと同じように TiDB に接続できるようになります。
MySQL
個人の好みに基づいて、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 シェルのドキュメントの手順に従います。インストール後、次のコマンドを使用して 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 ダイアレクトをサポートしているため、TiDB への接続には Hibernate6.0.0.Beta2
以降のバージョンを使用することをお勧めします。
Hibernate 接続パラメータの詳細については、 Hibernate のドキュメントを参照してください。
接続パラメータ
パラメータ名 | 説明 |
---|---|
{username} | TiDB クラスターに接続するための SQL ユーザー |
{password} | SQL ユーザーのパスワード |
{host} | TiDB ノードのホスト |
{port} | TiDB ノードがリッスンしているポート |
{database} | 既存のデータベースの名前 |
TiDB SQLユーザーの詳細については、 TiDB ユーザーアカウント管理を参照してください。