MySQL 9从入门到性能优化-系统信息函数

【图书推荐】《MySQL 9从入门到性能优化(视频教学版)》-CSDN博客

《MySQL 9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com)

MySQL9数据库技术_夏天又到了的博客-CSDN博客

MySQL中的系统信息有数据库的版本号、当前用户名和连接数、系统字符集、最后一个自动生成的ID值等。本节将介绍常用的获取系统信息的函数。

4.6.1  获取MySQL版本号、连接数和数据库名的函数

VERSION()返回指示MySQL服务器版本的字符串。这个字符串使用utf8字符集。

【例4.89】查看当前MySQL版本号,SQL语句如下:

mysql> SELECT VERSION();
+--------------+
| VERSION()    |
+--------------+
| 9.0.1        |
+--------------+

CONNECTION_ID()返回MySQL服务器当前连接的次数,每个连接都有各自唯一的ID。

【例4.90】查看当前用户的连接数,SQL语句如下:

 mysql> SELECT CONNECTION_ID();
+--------------------------+
| CONNECTION_ID()          |
+--------------------------+
|                 23       |
+--------------------------+

这里返回23,返回值根据登录的次数会有所不同。

SHOW PROCESSLIST命令的输出结果显示有哪些线程正在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态,帮助识别出有问题的查询语句等。

如果是root账号,则能看到所有用户的当前连接;如果是其他普通账号,则只能看到自己占用的连接。SHOW PROCESSLIST只列出前100条数据,如果想全部列出,可以使用SHOW FULL PROCESSLIST命令。

【例4.91】使用SHOW PROCESSLIST命令输出当前用户的连接信息,SQL语句如下:

MySQL> SHOW PROCESSLIST;
+--+---------------+---------------+----+-------+------+-----------------------+-----------
|Id|User           | Host          | db |Command| Time | State                 | Info  
+--+---------------+---------------+----+-------+------+-----------------------+-----------
|4 |event_scheduler|localhost      |NULL|Daemon |15274 | Waiting on empty queue|NULL        
|23|root           |localhost:58788|NULL|Query  | 0    | starting              |SHOW ROCESSLIST
+--+---------------+---------------+----+-------+------+-----------------------+-----------

各个列说明如下:

  • ID列:用户登录MySQL时,系统分配的是“connection id”。
  • User列:显示当前用户。如果不是root,那么这个命令只显示用户权限范围内的SQL语句。
  • Host列:显示这个语句是从哪个IP的哪个端口上发出的,可以用来追踪出现问题语句的   用户。
  • db列:显示这个进程目前连接的是哪个数据库。
  • Command列:显示当前连接执行的命令,一般取值为休眠(Sleep)、查询(Query)、连接(Connect)。
  • Time列:显示这个状态持续的时间,单位是秒。
  • State列:显示使用当前连接的SQL语句的状态,是很重要的列。State只是语句执行中的某一个状态。一个SQL语句,以查询为例,可能需要经过Copying to tmp table、Sorting result、Sending data等状态才可以完成。后续会介绍所有状态。
  • Info列:显示这个SQL语句,是判断问题语句的一个重要依据。

使用另一个命令行登录MySQL,此时将会有2个连接。在第二个登录的命令行下再次输入SHOW PROCESSLIST,结果如下:

mysql> SHOW PROCESSLIST;
+----+------+--------------+----+---------+--------+--------+----------------+
| Id | User | Host         | db | Command | Time   | State  | Info           |
+----+------+--------------+----+---------+--------+--------+----------------+
|  1 | root |localhost:3602|NULL| Sleep   |   38   |        | NULL           |
|  2 | root |localhost:3272|NULL| Query   |   0    |NULL    |show processlist|
+----+------+--------------+----+---------+--------+--------+----------------+

可以看到,当前活动用户为已登录的连接Id为2的用户,正在执行的Command(操作命令)是Query(查询),使用的查询命令为SHOW PROCESSLIST;而连接Id为1的用户目前没有对数据进行操作,即为Sleep操作,而且已经经过了38秒。

DATABASE()和SCHEMA()函数返回使用utf8字符集的默认(当前)数据库名。

【例4.92】查看当前使用的数据库,SQL语句如下:

mysql> SELECT DATABASE(),SCHEMA();
+----------------+----------------+
| DATABASE()     | SCHEMA()       |
+----------------+----------------+
| test_db        | test_db        |
+----------------+----------------+

可以看到,两个函数的作用相同。

4.6.2  获取用户名的函数

USER()、CURRENT_USER、CURRENT_USER()、SYSTEM_USER()和SESSION_USER()这几个函数返回当前被MySQL服务器验证的用户名和主机名组合。这个值用于确定当前登录用户在MySQL中的存取权限。一般情况下,这几个函数的返回值相同。

【例4.93】获取当前登录用户名称,SQL语句如下:

mysql> SELECT USER(), CURRENT_USER(), SYSTEM_USER();
+----------------+----------------+----------------+
| USER()         | CURRENT_USER() | SYSTEM_USER()  |
+----------------+----------------+----------------+
| root@localhost | root@localhost | root@localhost |
+----------------+----------------+----------------+

返回结果指示了当前账户连接服务器时的用户名及所连接的客户主机,root为当前登录的用户名,localhost为登录的主机名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/461546.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第一个qt项目的实现和介绍以及程序分析】【正点原子】嵌入式Qt5 C++开发视频

qt项目的实现和介绍 1.第一个qt项目  (1).创建qt工程    [1].创建一个存放qt的目录    [2].新建一个qt工程    [3].编译第一个工程    发生错误时的解决方式 二.QT文件介绍  (1).工程中文件简单介绍  (2).项目文件代码流程介绍    [1].添…

推荐一款开源的免费PDF编辑工具:CubePDF Utility

CubePDF Utility是一款功能强大的开源免费PDF编辑器,它采用了基于缩略图的界面设计,为用户提供了直观且高效的PDF编辑体验。该软件特别针对那些希望以简单直观方式编辑 PDF 文件的用户而设计,支持多种操作,如合并、提取、拆分、更…

shodan7,shodan参数使用,常用端口,Google语法

参数使用 alert shodan alert -h(查看帮助文档 这个就是怎么去配置ip监控)我们能在web页面上面去做,而且更加方便,所以就不多讲了 info shodan info(查看你查询的扫描的一些次数每个账户都是每个月有限制次数的)domain shodan domain(查询域名信息…

不是她所期待的那个人

今天那,我又来写用AI小说辣。 从最初的喜欢到最后的讨厌,她对他的感觉经历了一段奇妙的变化。一开始,当她第一次看到他时,她被他的外表所吸引。他高大英俊,阳光活泼的笑容总是让她心生好感。她喜欢和他在一起的感觉&am…

智能合约分享

智能合约练习 一、solidity初学者经典示例代码: 1.存储和检索数据: // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // 声明 Solidity 编译器版本// 定义一个名为 SimpleStorage 的合约 contract SimpleStorage {// 声明一个公共状态变量 d…

硬件在环仿真建模之电路拓扑建模与数学建模

我们需要先明确一个问题,什么是电路拓扑式建模(后面简称拓扑建模)和数学建模? 电力电子系统的拓扑建模,从大类上都可以归入为物理式建模(Physics-Based Modeling),物理式建模的最大特点就是用户…

根据提交的二维数据得到mysql建表和插入数据实用工具

根据提交的二维数据得到mysql建表和插入数据实用工具,这是重构版本(之前有过)。 会通过数据的长度&#xff0c;类型&#xff0c;是否数字&#xff0c;是否唯一等做判断&#xff0c;且每千条一个插入语句以优化性能。 <?php //整理与分享&#xff1a;yujianyue<1505859…

从0开始electron+vue2搭建环境

使用环境&#xff1a;node版本16.16.0 目录 搭建vue项目安装electron打包electron 搭建vue项目 已有vue2的环境直接进项安装electron步骤 没有的请先移动到这里查看 vue2脚手架搭建项目流程 我就不另外记录了 安装electron 直接运行 vue add electron-builder安装完成后&…

Qt——QWidget

一.控件概述 Widget 是 Qt 中的核心概念. 英文原义是 "小部件"&#xff0c;我们也把它翻译为 "控件" 。 控件是构成⼀个图形化界面的基本要素。 像上述示例中的, 按钮, 列表视图, 树形视图, 单行输入框, 多行输入框, 滚动条, 下拉框等, 都可以称为 "…

最经典盲超分辨率数据集

一、背景 底层视觉的发展是否能够让我们真正地看清这个世界呢&#xff1f; 在单图超分中&#xff0c;非盲超分已经发展得较为成熟了&#xff0c;而盲超分和真实超分仍然有很多问题尚未解决。在我看来&#xff0c;盲超分只是真实超分的一个过渡&#xff0c;由于真实世界中退化…

Spring Boot 配置文件详解与最佳实践

目录 前言1. 配置文件的作用2. Spring Boot 主要配置内容2.1 Actuator 配置2.2 缓存配置2.3 核心配置2.4 数据库与数据迁移配置2.5 开发工具配置2.6 Docker Compose 配置2.7 JSON 配置2.8 安全配置 3. 多个配置文件的处理方法3.1 使用 Profile 文件区分环境3.2 结合优先级加载配…

【Stable Diffusion】

1、SD 模型 安装完SD软件后&#xff0c;必须搭配基础模型才能使用。 不同的基础模型&#xff0c;其画风和擅长的领域会有侧重。 Checkpoint大模型 大模型是 SD 的核心&#xff0c;用来控制生成图片的整个画面风格走势。 出图前要选择好合适的大模型&#xff0c;比如有些擅长…

吉林大学2023级数据结构上机实验第(1~2周)参考答案(关注我,在系统关闭后持续更新)

A 括号匹配&#xff08;进阶版&#xff09; 分数 10 编写程序检查给定字符串中包含的括号是否正确匹配&#xff0c;本题中的括号有{ }、[ ]、( )、< >四种。另外再加上一个新的约束条件&#xff1a;当有多种括号嵌套时&#xff0c;嵌套的顺序应为{ → [ → ( → <&…

【综合算法学习】(第十三篇)

目录 解数独&#xff08;hard&#xff09; 题目解析 讲解算法原理 编写代码 单词搜索&#xff08;medium&#xff09; 题目解析 解析算法原理 编写代码 解数独&#xff08;hard&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09;…

【C++】string 类模拟实现:深入探索字符串操作原理

快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f6a9;在之前的文章中我们学会了对string类函数的使用&#xff0c;现在让我们对其进行模拟实现吧~&#x1f6a9; 目录 &#x1f4af;引言 &#x1f4…

[c++高阶]AVL树的深度剖析模拟实现

1.前言 如果你不知道什么是二叉搜索树&#xff0c;那么请你一定要阅读以下文章。 [c高阶]二叉搜索树深度剖析-CSDN博客 二叉搜索树如果在已经有序的情况下进行插入的话&#xff0c;那么他的时间复杂度是O(N)&#xff0c;然后有时候的时间复杂度又是O(logN)&#xff0c;因此在实…

我在命令行下剪辑视频

是的&#xff0c;你不需要格式工厂&#xff0c;你也不需要会声会影&#xff0c;更不需要爱剪辑这些莫名其妙的流氓软件&#xff0c;命令行下视频处理&#xff0c;包括剪辑&#xff0c;转码&#xff0c;提取&#xff0c;合成&#xff0c;缩放&#xff0c;字幕&#xff0c;特效等…

Tita:什么是 360 评估?

360 评估是一个专业的反馈机会&#xff0c;使一组同事和经理能够提供有关同事绩效的反馈。与仅由其经理评估员工工作绩效的典型员工绩效评估不同&#xff0c;360 评估会考虑来自同事和报告员工的反馈&#xff0c;甚至包括客户和与员工互动的其他人。 Tita&#xff1a;什么是 3…

jenkins ssh 免密报错Host key verification failed.

jenkins 发布项目&#xff0c;ssh连接远程服务器时报错&#xff1a;Host key verification failed. 解决&#xff1a; 原因是生成的sshkey不是用的jenkins用户&#xff0c;所以切换用户到&#xff1a;jenkins重新生成sshkey su jenkins ssh-keygen -t rsa ssh-copy-id -i ~/…

【Linux第七课--基础IO】内存级文件、重定向、缓冲区、文件系统、动态库静态库

目录 引入内存级文件重新使用C文件接口 -- 对比重定向写文件读文件文件流 认识文件操作的系统接口open参数 -- flagflag的内容宏的传参方式 open关闭文件写文件读文件结论 引入文件描述符fd、对文件的理解理解一切皆文件方法集文件fd的分配规则 重定向代码的重定向输入重定向输…