分类:
编程软件 Java 中间件 Elasticsearch 前端开发 kafka 云计算大数据 Lua zookeeper PHP 网络与运维 项目构建管理 ActiveMQ 办公应用软件 Memcached RabbitMQ Sentinel Nacos
南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗 南玻医疗

[MySQL Slow log]平滑清除在线慢查询日志slow log的流程

2019-04-21 08:46|来源: 网路

1、查看慢查询日志状态

mysql> show variables like '%slow%';

+---------------------+------------------------------------------+

| Variable_name       | Value                                    |

+---------------------+------------------------------------------+

| log_slow_queries    | ON                                       |

| slow_launch_time    | 2                                        |

| slow_query_log      | ON                                       |

| slow_query_log_file | /mysqllog/slow_log/slow_queries_3306.log |

+---------------------+------------------------------------------+

4 rows in set (0.00 sec)


-- see the query time

mysql> show variables like '%long_query_time%';

+-----------------+----------+

| Variable_name   | Value    |

+-----------------+----------+

| long_query_time | 0.500000 |

+-----------------+----------+

1 row in set (0.00 sec)

mysql> 


2、停止慢查询日志服务

mysql> set global slow_query_log=0;

Query OK, 0 rows affected (0.27 sec)


查看慢查询日志,可以发现slow_query_log被设置为OFF了

mysql> show variables like '%slow%'; -- check slow log status

+---------------------+------------------------------------------+

| Variable_name       | Value                                    |

+---------------------+------------------------------------------+

| log_slow_queries    | OFF                                      |

| slow_launch_time    | 2                                        |

| slow_query_log      | OFF                                      |

| slow_query_log_file | /mysqllog/slow_log/slow_queries_3306.log |

+---------------------+------------------------------------------+

4 rows in set (0.00 sec)


3、重置慢查询日志存放路径

mysql> set global slow_query_log_file='/mysqllog/slow_log/slow_queries_3306_new.log';

Query OK, 0 rows affected (0.03 sec)


4,、启动慢查询日志服务

mysql> set global slow_query_log=1;

Query OK, 0 rows affected (0.01 sec)


mysql> show variables like '%slow%';

+---------------------+----------------------------------------------+

| Variable_name       | Value                                        |

+---------------------+----------------------------------------------+

| log_slow_queries    | ON                                           |

| slow_launch_time    | 2                                            |

| slow_query_log      | ON                                           |

| slow_query_log_file | /mysqllog/slow_log/slow_queries_3306_new.log |

+---------------------+----------------------------------------------+

4 rows in set (0.00 sec)


5,、使用sleep测试新设置的慢查询日志是否生效.

mysql> select sleep(10) as a, 1 as b;

+---+---+

| a | b |

+---+---+

| 0 | 1 |

+---+---+

1 row in set (10.00 sec)


mysql> 

[mysql@xxx-xxx ~]$ more /mysqllog/slow_log/slow_queries_3306_new.log

......

Time                 Id Command    Argument

# Time: 140213  6:44:24

# User@Host: root[root] @ localhost []

# Query_time: 10.000365  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0

SET timestamp=1392273864;

select sleep(10) as a, 1 as b;


6、备份原有的慢查询日志或者删除掉

mv /mysqllog/slow_log/slow_queries_3306.log /mysqlbackup/slow_log/slow_queries_3306.log.bak.20140213


参考:https://blog.csdn.net/mchdba/article/details/19161097 

相关问答

更多

mysql慢查询日志(mysql slow query log)

这是一个很好的阅读并提出了一些工具: http : //www.mysqlperformanceblog.com/2006/09/06/slow-query-log-analyzes-tools/ 万一你错过了: http : //www.maatkit.org/doc/mk-query-digest.html是建议的工具。 但无论如何还是值得一读。 如果你必须自己写一些东西,那么在cpan上似乎有一个方便的perl模块。 https://metacpan.org/pod/MySQL::Log:

如何记录特定数据库的mysql慢查询(How to log mysql slow queries for specific database)

你可以使用mysql慢登录文件然后用这个命令查找特定数据库的慢日志行: cat /var/lib/mysql/slow.log |grep -A 3 {your_db_name} you can use mysql slow log in file then use this command for find slow log row of specific database: cat /var/lib/mysql/slow.log |grep -A 3 {your_db_name}

为什么mysql慢速日志会报告这些非慢速查询(Why does mysql slow log reports these non-slow queries)

MySQL还会记录不使用索引的查询 my.cnf中的选项 log-queries-not-using-indexes用于控制它。 我可以从my.cnf的这个片段中看到我的关闭(通过评论) # Here you can see queries with especially long duration log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 2 #log-queries-not-using-

如何确定慢查询?(how to determine slow queries?)

为了加快查询执行速度,我总是回到2个咒语 - 索引,索引和索引。 尝试尽可能地摆脱JOINS 。 有一些经过试验和测试的方法来清除慢速查询。 您需要打开慢查询日志 。 这会记录执行时间超过x秒的所有查询。 x由mysql.conf中指定。 一旦慢速查询开始登录日志。 您可以使用EXPLAIN分析每个查询,并适当添加索引以加快查询执行速度。 I always fall back to 2 mantras for faster query execution - Indexes, indexes a

MySQL“SET NAMES”靠近慢查询日志的顶部(MySQL “SET NAMES” near the top of the slow query log)

如果所有查询都很慢,则SET NAMES在服务器上的优先级可能非常低,因此请等到负载停止运行。 如果您有很多其他需要长时间执行的查询,您可能希望先尝试优化这些查询。 这个“问题”的另一个解决方案是将其添加到服务器上的my.cnf: [mysqld] init-connect = 'SET NAMES utf8' 这可以确保在客户端连接时将字符集设置为UTF-8,因此客户端不必等待此“查询”的结果。 您可能希望在软件中禁用SET NAMES查询。 主要是,我不会太担心,除非你真的有很多设置名称需

相关文章

更多

最近更新

更多