计算机网络/计算机科学与应用/系统/运维/开发

MySQL8 系统信息函数

一、获取MySQL版本号、连接数、数据库名函数

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.30    |
+-----------+
1 row in set (0.00 sec)



查看当前用户的连接数:

mysql> SELECT CONNECTION_ID();
+-----------------+
| CONNECTION_ID() |
+-----------------+
|              63 |
+-----------------+
1 row in set (0.00 sec)


processlist 命令显示有哪些线程在运行,同时还可以查看所有连接数、链接状态、帮助识别出有问题的查询语句

show processlist 只显示前100条,查询所有使用show full processlist


mysql> SHOW PROCESSLIST;
+----+-----------------+-----------+------+---------+-------+------------------------+------------------+
| Id | User            | Host      | db   | Command | Time  | State                  | Info             |
+----+-----------------+-----------+------+---------+-------+------------------------+------------------+
|  5 | event_scheduler | localhost | NULL | Daemon  | 93339 | Waiting on empty queue | NULL             |
| 63 | root            | localhost | NULL | Query   |     0 | init                   | SHOW PROCESSLIST |
+----+-----------------+-----------+------+---------+-------+------------------------+------------------+
2 rows in set (0.00 sec)


mysql> SHOW FULL PROCESSLIST;
+----+-----------------+-----------+------+---------+-------+------------------------+-----------------------+
| Id | User            | Host      | db   | Command | Time  | State                  | Info                  |
+----+-----------------+-----------+------+---------+-------+------------------------+-----------------------+
|  5 | event_scheduler | localhost | NULL | Daemon  | 93341 | Waiting on empty queue | NULL                  |
| 63 | root            | localhost | NULL | Query   |     0 | init                   | SHOW FULL PROCESSLIST |
+----+-----------------+-----------+------+---------+-------+------------------------+-----------------------+
2 rows in set (0.00 sec)


id列 分配的是connection id

user列 root

host列 从哪个ip端口发出的

db列 显示当前进程是哪个数据库

command列 显示链接执行的命令  休眠 sleep 查询query 链接connect

time列 显示这个状态持续的时间 单位是秒

state列 显示使用当前连接的SQL语句的状态 

info列 显示这个SQL语句,是判断问题语句的一个重要依据


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

mysql> select database(),schema();
+------------+----------+
| database() | schema() |
+------------+----------+
| booksdb    | booksdb  |
+------------+----------+
1 row in set (0.00 sec)


二、获取用户名的函数

mysql> SELECT USER(),CURRENT_USER(),SYSTEM_USER();
+----------------+----------------+----------------+
| USER()         | CURRENT_USER() | SYSTEM_USER()  |
+----------------+----------------+----------------+
| root@localhost | root@localhost | root@localhost |
+----------------+----------------+----------------+
1 row in set (0.00 sec)


root为登录用户名 localhost登录主机名


所谓坚持,就是从种子种下到开花结果需要等待的时间。

评论

^