目录
今天给大家分享mysql常用的服务器状态命令 ,希望对大家日常运维mysql数据库或者调优提供一些帮助!
第一个命令
show processlist
查询正在运行的所有MySQL进程,包括进程ID、用户、主机、当前数据库、命令、时间等信息。
第二个命令
select * from information_schema.processlist where command = 'query';
筛选出所有正在运行的SQL语句,可以通过ORDER BY语句来按照时间排序
说明:使用该命令可以进行SQL语句可以用where语句进行筛选,比如数据库名称、命令类型等。
show variables like '%max_connections%';
show status like 'Thread%';
-- 查询慢MySQL查询的条数 Show status like 'slow_queries';
- -- 展示当前正在执行的sql语句
- show profiles;
注意:需要配置开启慢查询记录。
配置方式如下:
修改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
show status like 'uptime';
说明:Value的单位为秒
- -- 索引+数据
-
- SELECT table_schema AS `Database`, SUM(data_length + index_length) / 1024 / 1024 AS `Size (MB)` FROM information_schema.TABLES GROUP BY table_schema;
说明:索引+数据之后就是完整的容量了。
SHOW GLOBAL STATUS LIKE 'Com_select';
SHOW GLOBAL STATUS LIKE 'Com_insert';
SHOW GLOBAL STATUS LIKE 'Com_update';
SHOW GLOBAL STATUS LIKE 'Com_delete';
说明:基于统计数据库的增删改查的次数,可以给数据库是否要做读写分离提供依据。
以上是一些常用的服务器状态运行命令,大家如果还有比较常用的命令欢迎补充交流!