如何连接到 TiDB

why 2253 2023-06-29

本文关于(如何连接到 TiDB?)。

如何连接到 TiDB?


连接到 TiDB

TiDB 高度兼容 MySQL 协议,全量的客户端连接参数列表,请参阅 MySQL Client Options。

TiDB 支持 MySQL 客户端/服务器协议。这使得大多数客户端驱动程序和 ORM 框架可以像连接到 MySQL 一样地连接到 TiDB。


MySQL

你可以选择使用 MySQL Client 或 MySQL Shell 连接到 TiDB。

  • MySQL Client

  • MySQL Shell

你可以使用 MySQL Client 作为 TiDB 的命令行工具连接到 TiDB。下面以基于 YUM 的 Linux 发行版为例,介绍如何安装 MySQL Client。

sudo yum install mysql

安装完成后,你可以使用如下命令连接到 TiDB:

mysql --host <tidb_server_host> --port 4000 -u root -p --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}

需要连接到 TiDB 集群的 SQL 用户的密码

{host}

TiDB 节点运行的 Host

{port}

TiDB 节点正在监听的端口

{database}

(已经存在的)数据库的名称


Hibernate

你可以使用 Hibernate ORM 连接到 TiDB,请将 Hibernate 的配置中的 hibernate.connection.url 设置为合法的 TiDB 连接字符串。

例如,你的配置被写在 hibernate.cfg.xml 文件中,那么你的配置文件应该为:

<?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();

这里有几个需要注意的点:

  1. 因为使用的配置文件 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}

  2. 在你使用 Hibernate 时,建议使用 TiDB 方言,即 hibernate.dialect 设置为 org.hibernate.dialect.TiDBDialect

  3. Hibernate 在版本 6.0.0.Beta2 及以上可支持 TiDB 方言,因此推荐使用 6.0.0.Beta2 及以上版本的 Hibernate。

更多有关 Hibernate 连接参数的信息,请参阅 Hibernate 官方文档。

连接参数

参数名描述

{username}

需要连接到 TiDB 集群的 SQL 用户

{password}

需要连接到 TiDB 集群的 SQL 用户的密码

{host}

TiDB 节点运行的 Host

{port}

TiDB 节点正在监听的端口

{database}

(已经存在的)数据库的名称


上述就是小编为大家整理的(如何连接到 TiDB?)
***

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySql和Spark比较分析:如何根据大数据处理需求选择合适的工具
下一篇:MySql的行为日志与慢查询:如何快速定位性能问题
相关文章