gpt4 book ai didi

mysql慢查询操作实例分析【开启、测试、确认等】

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 29 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章mysql慢查询操作实例分析【开启、测试、确认等】由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了mysql慢查询操作。分享给大家供大家参考,具体如下:

mysql有些sql会执行很慢,有可能造成服务器负载飙升 。

首先查询 确定影响负载的是mysql ,使用top命令,ps命令等 。

其次,进入MySQL,使用show full processlist查询执行中的sql语句,看看问题,使用explain 命令 查看状态 。

最后找出sql语句杀死或者优化 。

centos7上面安装mariadb服务 。

?
1
yum -y install mariadb-server mariadb-devel

开启慢查询 。

?
1
more /etc/my .cnf.d /server .cnf
?
1
2
3
4
[mariadb]
slow_query_log=ON
slow_query_log_file= /usr/local/mysql/data/slow .log
long_query_time=1

启动mariadb服务 。

?
1
systemctl start mariadb

查询mysql的慢查询是否开启,以及多久的时间以上是慢查询 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
MariaDB [(none)]> show variables like '%slow_query%' ;
+ ---------------------+--------------------------------+
| Variable_name    | Value             |
+ ---------------------+--------------------------------+
| slow_query_log   | ON               |
| slow_query_log_file | /usr/ local /mysql/data/slow.log |
+ ---------------------+--------------------------------+
2 rows in set (0.00 sec)
 
MariaDB [(none)]> show variables like 'long_query_time' ;
+ -----------------+----------+
| Variable_name  | Value  |
+ -----------------+----------+
| long_query_time | 1.000000 |
+ -----------------+----------+
1 row in set (0.00 sec)
?
1
2
3
#如果没用开启慢查询,可以在命令行开启
mysql> set global slow_query_log=1;
Query OK, 0 rows affected (0.00 sec)

 测试慢查询,以及查看日志 。

?
1
2
3
4
5
6
7
MariaDB [(none)]> select sleep(2);
+ ----------+
| sleep(2) |
+ ----------+
|    0 |
+ ----------+
1 row in set (2.00 sec)
?
1
2
3
4
5
6
7
8
9
10
[root@localhost ~] # more /usr/local/mysql/data/slow.log
/usr/libexec/mysqld , Version: 5.5.60-MariaDB (MariaDB Server). started with:
Tcp port: 0 Unix socket: /var/lib/mysql/mysql .sock
Time         Id Command  Argument
# Time: 180930 23:51:07
# User@Host: root[root] @ localhost []
# Thread_id: 2 Schema:  QC_hit: No
# Query_time: 2.001017 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1538322667;
select sleep (2);

 确认慢查询 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
MariaDB [(none)]> show full processlist; #查看state慢查询在进行
+ ----+------+-----------+------+---------+------+------------+-----------------------+----------+
| Id | User | Host   | db  | Command | Time | State   | Info         | Progress |
+ ----+------+-----------+------+---------+------+------------+-----------------------+----------+
| 3 | root | localhost | NULL | Query  |  9 | User sleep | select sleep(10)   |  0.000 |
| 4 | root | localhost | NULL | Query  |  0 | NULL    | show full processlist |  0.000 |
+ ----+------+-----------+------+---------+------+------------+-----------------------+----------+
2 rows in set (0.00 sec)
 
MariaDB [(none)]> show full processlist; #查看state慢查询已经结束,但是用户登陆了
+ ----+------+-----------+------+---------+------+-------+-----------------------+----------+
| Id | User | Host   | db  | Command | Time | State | Info         | Progress |
+ ----+------+-----------+------+---------+------+-------+-----------------------+----------+
| 3 | root | localhost | NULL | Sleep  |  1 |    | NULL         |  0.000 |
| 4 | root | localhost | NULL | Query  |  0 | NULL | show full processlist |  0.000 |
+ ----+------+-----------+------+---------+------+-------+-----------------------+----------+
2 rows in set (0.00 sec)

希望本文所述对大家MySQL数据库计有所帮助.

原文链接:https://www.cnblogs.com/mmyy-blog/p/9732183.html 。

最后此篇关于mysql慢查询操作实例分析【开启、测试、确认等】的文章就讲到这里了,如果你想了解更多关于mysql慢查询操作实例分析【开启、测试、确认等】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com