今天给大家分享mysql常用的服务器状态命令 ,希望对大家日常运维mysql数据库或者调优提供一些帮助!
1、查询当前服务器运行的进程
第一个命令
show processlist
查询正在运行的所有MySQL进程,包括进程ID、用户、主机、当前数据库、命令、时间等信息。
第二个命令
select * from information_schema.processlist where command = 'query';
筛选出所有正在运行的SQL语句,可以通过ORDER BY语句来按照时间排序
说明:使用该命令可以进行SQL语句可以用where语句进行筛选,比如数据库名称、命令类型等。
2、查询最大链接数
show variables like '%max_connections%';
3、查询当前链接数
show status like 'Thread%';
4、展示当前正在执行的sql语句
-- 查询慢MySQL查询的条数
Show status like 'slow_queries';
-- 展示当前正在执行的sql语句
show profiles;
5、查询当前MySQL当中记录的慢查询条数
注意:需要配置开启慢查询记录。
配置方式如下:
修改MySQL配置参数,根据操作系统不同修改的配置文件如下:
Linux:my.cnf
Windows:my.ini
增加如下配置:
[mysqld]
long_query_time=2 // 慢查询的定义时间(超过2秒就是慢查询)// 慢查询log日志记录( slow_query_log)
## 5.5 版本以下配置
log-slow-queries="mysql-slow-query.log"
## 5.5 版本及以上配置
slow-query-log=on
slow_query_log_file="mysql-slow-query.log"//记录没有使用索引的query
log-query-not-using-indexes
然后重启数据库就会生效。
慢查询常用的命令
-- 查询慢查询的日志路径
show variables like 'slow_query_log_file';
-- 使用msql提供的日志分析工具mysqldumpslow分析找出查询时间最慢的五条sql
mysqldumpslow -s 5 /mysql/mysql01_slow.log
6、展示Mysql服务器从启动到现在持续运行的时间
show status like 'uptime';
说明:Value的单位为秒
7、查询数据库存储占用情况
-- 索引+数据
SELECT table_schema AS `Database`, SUM(data_length + index_length) / 1024 / 1024 AS `Size (MB)`
FROM information_schema.TABLES GROUP BY table_schema;
说明:索引+数据之后就是完整的容量了。
8、查询服务器启动以来的执行查询的总次数
SHOW GLOBAL STATUS LIKE 'Com_select';
9、查询服务器启动以来的执行新增的总次数
SHOW GLOBAL STATUS LIKE 'Com_insert';
10、查询服务器启动以来的执行更新的总次数
SHOW GLOBAL STATUS LIKE 'Com_update';
11、查询服务器启动以来的执行删除的总次数
SHOW GLOBAL STATUS LIKE 'Com_delete';
说明:基于统计数据库的增删改查的次数,可以给数据库是否要做读写分离提供依据。
12、总结
以上是一些常用的服务器状态运行命令,大家如果还有比较常用的命令欢迎补充交流!