当前位置: 首页 > 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 默认序列化方式方…...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...