一、获取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登录主机名