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
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 ユーザーアカウント管理を参照してください。