📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDBに接続する

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

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

MySQL

個人の好みに応じて、MySQL クライアントまたは MySQL シェルの使用を選択できます。

    TiDB には、MySQL クライアントを使用して接続できます。MySQL クライアントは、TiDB のコマンドラインツールとして使用できます。MySQL クライアントをインストールするには、YUM ベースの Linux ディストリビューションの以下の手順に従ってください。

    sudo yum install mysql

    インストール後、次のコマンドを使用して TiDB に接続できます。

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

    macOS上のMySQL v9.0クライアントはプラグインmysql_native_passwordを正しくロードできないため、TiDBへの接続時にエラーERROR 2059 (HY000): Authentication plugin 'mysql_native_password' cannot be loaded発生します。この問題を解決するには、MySQL v8.0クライアントをインストールしてTiDBに接続することをお勧めします。インストールするには、以下のコマンドを実行してください。

    brew install mysql-client@8.0 brew unlink mysql brew link mysql-client@8.0

    それでもエラーが発生する場合は、MySQL v8.0クライアントのインストールパスを指定してTiDBに接続してください。以下のコマンドを実行してください。

    /opt/homebrew/opt/mysql-client@8.0/bin/mysql --comments --host ${YOUR_IP_ADDRESS} --port ${YOUR_PORT_NUMBER} -u ${your_user_name} -p

    上記のコマンドの/opt/homebrew/opt/mysql-client@8.0/bin/mysql 、実際の環境の MySQL v8.0 クライアントのインストール パスに置き換えます。

    TiDB には、MySQL Shell を使用して接続できます。MySQL Shell は、TiDB のコマンドラインツールとして使用できます。MySQL Shell をインストールするには、 MySQL Shell ドキュメントの手順に従ってください。インストール後、以下のコマンドで 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}&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.url jdbc:mysql://{host}:{port}/{database}?user={user}&password={password}からjdbc:mysql://{host}:{ port}/{database}?user={user}&amp;password={password}に変更する必要があります。
    • hibernate.dialectorg.hibernate.dialect.TiDBDialectに設定してTiDB方言を使用することをお勧めします。
    • Hibernate は6.0.0.Beta2以降の TiDB 方言をサポートしているため、TiDB に接続するには Hibernate 6.0.0.Beta2以降のバージョンを使用することをお勧めします。

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

    接続パラメータ

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

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

    ヘルプが必要ですか?

    不和またはスラック 、あるいはサポートチケットを送信するについてコミュニティに質問してください。

    このページは役に立ちましたか?