当前位置: 首页 > news >正文

数据库必知必会:TiDB(12)TiDB连接管理

数据库必知必会:TiDB(12)TiDB连接管理

  • TiDB连接管理
    • TiDB的连接特性
    • 连接TiDB
      • MySQL命令行客户端
      • 图形界面客户端连接
      • 其他连接方式
  • 写在后面

TiDB连接管理

TiDB的连接特性

TiDB Server主要负责接收用户的会话请求,接收SQL并负责SQL语句的解析、编译,生成SQL的执行计划。TiDB Server并不存储数据,所以TiDB的连接是无状态的,用户连接的TiDB Server节点出现问题后,用户会话将会丢失,但其他节点的会话不受影响,丢失会话的用户需要重新连接到其他TiDB Server节点,重新执行SQL。

TiDB完全兼容MySQL 5.7协议,支持MySQL 5.7规范支持的常用SQL语句,但是不支持以下语句:

  • 存储过程
  • 自定义函数
  • 触发器
  • 外键
  • CTAS语法(create table … as select … from …)

连接TiDB

MySQL命令行客户端

TiDB完全兼容MySQL 5.7,所以TiDB可以使用MySQL客户端进行连接。

首先,在服务器上安装MySQL客户端,命令为:

sudo apt-get install mysql-client

安装过程:

wux_labs@wux-labs-vm:~$ sudo apt-get install mysql-client
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:mysql-client-8.0 mysql-client-core-8.0 mysql-common
The following NEW packages will be installed:mysql-client mysql-client-8.0 mysql-client-core-8.0 mysql-common
0 upgraded, 4 newly installed, 0 to remove and 6 not upgraded.
Need to get 5196 kB of archives.
After this operation, 75.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-client-core-8.0 amd64 8.0.32-0ubuntu0.20.04.2 [5157 kB]
Get:2 http://azure.archive.ubuntu.com/ubuntu focal/main amd64 mysql-common all 5.8+1.0.5ubuntu2 [7496 B]
Get:3 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-client-8.0 amd64 8.0.32-0ubuntu0.20.04.2 [22.0 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 mysql-client all 8.0.32-0ubuntu0.20.04.2 [9364 B]
Fetched 5196 kB in 1s (10.1 MB/s)      
Selecting previously unselected package mysql-client-core-8.0.
(Reading database ... 84042 files and directories currently installed.)
Preparing to unpack .../mysql-client-core-8.0_8.0.32-0ubuntu0.20.04.2_amd64.deb ...
Unpacking mysql-client-core-8.0 (8.0.32-0ubuntu0.20.04.2) ...
Selecting previously unselected package mysql-common.
Preparing to unpack .../mysql-common_5.8+1.0.5ubuntu2_all.deb ...
Unpacking mysql-common (5.8+1.0.5ubuntu2) ...
Selecting previously unselected package mysql-client-8.0.
Preparing to unpack .../mysql-client-8.0_8.0.32-0ubuntu0.20.04.2_amd64.deb ...
Unpacking mysql-client-8.0 (8.0.32-0ubuntu0.20.04.2) ...
Selecting previously unselected package mysql-client.
Preparing to unpack .../mysql-client_8.0.32-0ubuntu0.20.04.2_all.deb ...
Unpacking mysql-client (8.0.32-0ubuntu0.20.04.2) ...
Setting up mysql-common (5.8+1.0.5ubuntu2) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Setting up mysql-client-core-8.0 (8.0.32-0ubuntu0.20.04.2) ...
Setting up mysql-client-8.0 (8.0.32-0ubuntu0.20.04.2) ...
Setting up mysql-client (8.0.32-0ubuntu0.20.04.2) ...
Processing triggers for man-db (2.9.1-1) ...
wux_labs@wux-labs-vm:~$ 

image-20230218215753201

安装完成后,确保mysql命令可以使用。

image-20230218215847032

MySQL命令行客户端连接数据库的语法为:

mysql -h ${host} -P ${port} -u ${username} -p ${password}

对于TiDB:

  • ${host}是TiDB Server的主机地址
  • ${port}是TiDB Server的服务端口,默认配置是 4000

给定具体参数值,连接TiDB Server:

mysql -hwux-labs-vm -P4000 -uroot -p'@2XKr^+9&nNZ3U07q6'

连接过程:

wux_labs@wux-labs-vm:~$ mysql -hwux-labs-vm -P4000 -uroot -p'@2XKr^+9&nNZ3U07q6'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 459
Server version: 5.7.25-TiDB-v6.1.0 TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatibleCopyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

image-20230218220414486

这样就连接上了TiDB集群了。接下来可以执行一些命令。

  • 查看当前已有的库
show databases;

image-20230218220638736

当前默认创建了一个数据库test。

  • 切换数据库
use test;

image-20230219152048439

  • 查看表
show tables test;

当前没有表,所以是空的。

image-20230219152135338

  • 创建表
create table dept(id int,name varchar(100)
);

image-20230219152231945

  • 插入数据
insert into dept values(1, 'Labs');

image-20230219152414831

  • 查询数据
select * from dept;

image-20230219152431912

  • 修改用户密码
set password = password('tidb');

image-20230219152518024

  • 查询已有用户
select user,host,authentication_string from mysql.user;

image-20230219152707643

图形界面客户端连接

除了使用MySQL命令行工具连接TiDB,还可以使用图形界面客户端工具。

本文使用DataGrip作为图形界面客户端做演示,其他还有很多图形界面客户端也是支持的。

通过添加数据源菜单,选择MySQL数据源。

image-20230219153057010

在数据源配置界面输入TiDB的连接信息,注意端口是4000。

image-20230219153405966

点击Test Connection连接测试连接,确保连接成功。

image-20230219153503614

连接成功后,可以执行相关的命令、语句。

  • 查看当前已有的数据库
show databases;

image-20230219153724095

  • 切换数据库
use test;

执行完成后,当前数据库将会切换成test。

image-20230219154012158

  • 查询数据
select * from dept;

执行完成后,将以表格形式显示查询结果。

image-20230219154138060

其他连接方式

TiDB支持的连接器和API:

  • MySQL Connector/Net
  • MySQL Connector/ODBC
  • MySQL Connector/Python
  • MySQL C API
  • MySQL PHP API
  • MySQL Python API
  • MySQL GO API

写在后面

TiDB完全兼容MySQL 5.7协议,因此支持的客户端连接工具比较多,选择一个自己喜欢的客户端用起来吧。

相关文章:

数据库必知必会:TiDB(12)TiDB连接管理

数据库必知必会:TiDB(12)TiDB连接管理TiDB连接管理TiDB的连接特性连接TiDBMySQL命令行客户端图形界面客户端连接其他连接方式写在后面TiDB连接管理 TiDB的连接特性 TiDB Server主要负责接收用户的会话请求,接收SQL并负责SQL语句…...

电源大事,阻抗二字

作者:一博科技高速先生成员 姜杰PCB设计时,我们通常会控制走线的特征阻抗;电源设计时,又会关注电源分配系统(PDN)的交流阻抗,虽然都是阻抗,一个是信号的通道要求,一个是电…...

ASE20N60-ASEMI的MOS管ASE20N60

编辑-Z ASE20N60在TO-247封装里的静态漏极源导通电阻(RDS(ON))为0.4Ω,是一款N沟道高压MOS管。ASE20N60的最大脉冲正向电流ISM为80A,零栅极电压漏极电流(IDSS)为10uA,其工作时耐温度范围为-55~150摄氏度。ASE20N60功耗…...

nginx 代理01(持续更新)

1、如果请求是post,而且请求原是188.188.3.171,处理方式403 if ($request_method ~* "POST") # $request_method 等同于request的method,通常是“GET”或“POST” # 如果访问request的method值为POST则返回“o” {set…...

初阶C语言——操作符【详解】

文章目录1.算术操作符2.移位操作符2.1 左移操作符2.2 右移操作符3.位操作符按位与按位或按位异或4.赋值操作符复合赋值符5.单目操作符5.1单目操作符介绍6.关系操作符7.逻辑操作符8.条件操作符9.逗号表达式10.下标引用、函数调用和结构成员11表达式求值11.1 隐式类型转换11.2算术…...

37k*16 薪,年后直接上岗,3年自动化测试历经3轮面试成功拿下阿里Offer....

前言 转眼过去,距离读书的时候已经这么久了吗?,从18年5月本科毕业入职了一家小公司,到现在快4年了,前段时间社招想着找一个新的工作,前前后后花了一个多月的时间复习以及面试,前几天拿到了阿里…...

利用Rust与Flutter开发一款小工具

1.起因 起因是年前看到了一篇Rust iOS & Android|未入门也能用来造轮子?的文章,作者使用Rust做了个实时查看埋点的工具。其中作者的一段话给了我启发: 无论是 LookinServer 、 Flipper 等 Debug 利器,还是 Flutt…...

零入门kubernetes网络实战-16->使用golang给docker环境下某个容器里添加一个额外的网卡

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 上一篇文章,我们使用了golang在veth pair链接的网络命名空间里添加了网卡, 本篇文章,我尝试,在docker环境下…...

音频信号处理笔记(二)

文章目录1.1.3 过零率1.1.4 谱质心和子带带宽1.1.5 短时傅里叶分析法1.1.6 小波变换相关课程: 音频信号处理及深度学习教程傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 知乎 (zhihu.com)1.1.3 过零率 过零率:是一个信号符号…...

钓鱼网站+bypassuac提权

本实验实现1 :要生成一个钓鱼网址链接,诱导用户点击,实验过程是让win7去点击这个钓鱼网站链接,则会自动打开一个文件共享服务器的文件夹,在这个文件夹里面会有两个文件,当用户分别点击执行后,则…...

合并两个有序链表——递归解法

题目描述21. 合并两个有序链表难度简单2922收藏分享切换为英文接收动态反馈将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1:输入:l1 [1,2,4], l2 [1,3,4]输出:[1,1,2,3,4,4]示例…...

ADRC自抗扰控制总结

目录 前言 1.ADRC形式 1.1形一 1.2形二 2.被控对象 3.仿真分析 3.1仿真模型 3.2仿真结果 4.学习问题 前言 前面的3篇文章依次介绍了微分跟踪器TD、状态观测器ESO和非线性状态误差反馈NLSEF三部分内容,至此ADRC的结构已经介绍完毕,现在对分块学习…...

3年工作之后是不是还在“点点点”,3年感悟和你分享....

经常都有人问我软件测试前景怎么样,每年也都帮助很多朋友做职业分析和学习规划,也很欣慰能够通过自己的努力帮到一些人进入到大厂。 2023年软件测试行业的发展现状以及未来的前景趋势 最近很多测试人在找工作的时候,明显的会发现功能测试很…...

【自动化测试】web自动化测试验证码如何测?如何处理验证码问题?解决方案......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 在对安全性有要求的…...

面试浅谈之 C++ STL 篇

面试浅谈之 C STL 篇 一 🏠 概述 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是面试浅谈系列,收录在专栏面试中 😜😜😜 本系列将记录一些阿呆个人整理的面试题…...

【PTA Advanced】1144 The Missing Number(C++)

目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 思路 代码 题目 Given N integers, you are supposed to find the smallest positive integer that is NOT in the given list. Input Specification: Each input file contains…...

oracle的sqlnet.ora文件配置传输加密算法

sqlnet.ora文件位于ORACLE_HOME/network/admin目录中。sqlnet.ora文件中增加如下:SQLNET.ENCRYPTION_SERVER REQUIRED SQLNET.ENCRYPTION_TYPES_SERVER (RC4_256) SQLNET.CRYPTO_CHECKSUM_SERVER REQUIRED SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER MD5SQLNET.ENCRYP…...

RK3568存储性能测试

USBU盘储存性能参数(USB3.0接口)参数测试条件最小典型最大单位说明写速度写入1GB数据—32.6—MB/sU盘型号:KODAK,32GB USB3.0读速度读取1GB数据—66.7—MB/s 备注HW356X-CORE-4GB-32GBHW356X-GKA,操作系统:LinuxU盘储存性能参数(U…...

Homekit智能家居一智能灯泡

一、什么是智能灯 传统的灯泡是通过手动打开和关闭开关来工作。有时,它们可以通过声控、触控、红外等方式进行控制,或者带有调光开关,让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块,可与手机、家庭智能助手、或其他智能…...

轻量级 Java 权限认证框架——Sa-Token

文章目录Sa-Token 介绍SpringBoot 集成 Sa-TokenSa-Token 功能登录认证会话查询Token 查询权限认证权限校验角色校验注解鉴权注册 Sa-Token 拦截器关闭注解校验路由拦截鉴权注册 Sa-Token 路由拦截器[记住我] 模式密码加密Sa-Token 集成 Redis方式1、使用 jdk 默认序列化方式方…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

EtherNet/IP转DeviceNet协议网关详解

一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...