JiaHe

相遇即是缘

青山绕绿水

炊烟携风云

家老行渐缓

儿孙满堂欢

秋高风急卷愁心

举杯对影难自醒

虚握旧时凝脂手

一壶醉酒到天明

万鬼入市血眼开

红鬼愁来绿鬼哀

小鬼变大不觉满

大鬼身消来世来

telnet

telnet ip port
telnet 127.0.0.1 3306

# 存在以下提示表示连接失败
# telnet: connect to address 127.0.0.1: Connection refused

curl

curl http://ip:port
curl http://10.10.10.10:3306

# 存在以下提示表示连接成功
# curl: (1) Received HTTP/0.9 when not allowed
# curl: (56) Recv failure: Connection reset by peer

# 存在以下提示表示连接失败
# curl: (7) Failed to connect to localhost port 3306: Connection refused

ssh

ssh -v ip -p port
ssh -v 10.10.10.10 -p 1522

# 存在以下提示表示连接成功
# debug1: Connection established

# 存在以下提示表示连接失败
# debug1: connect to address 10.10.10.10 port 1522: No route to host

前言

慢查询日志在日常数据库运维中经常会用到,我们可以通过查看慢查询日志来获得效率较差的 SQL ,然后可以进行 SQL 优化。本篇文章我们一起来学习下慢查询日志相关知识。

慢查询日志简介

慢查询日志(Slow Query Log),主要用来记录在 MySQL 中执行时间超过指定时间的 SQL 语句。通过慢查询日志,可以查找出哪些语句的执行效率低,以便进行优化。

默认情况下,MySQL 并没有开启慢查询日志,可以通过修改 slow_query_log 参数来打开慢查询日志。与慢查询日志相关的参数介绍如下:

  • slow_query_log:是否启用慢查询日志,默认为0,可设置为0、1,1表示开启。
  • slow_query_log_file:指定慢查询日志位置及名称,默认值为host_name-slow.log,可指定绝对路径。
  • long_query_time:慢查询执行时间阈值,超过此时间会记录,默认为10,单位为秒(s)。
  • log_output:慢查询日志输出目标,默认为file,即输出到文件。
  • log_timestamps:主要是控制 error log、slow log、genera log 日志文件中的显示时区,默认使用UTC时区,建议改为 SYSTEM 系统时区。
  • log_queries_not_using_indexes:是否记录所有未使用索引的查询语句,默认为off。
  • min_examined_row_limit:对于查询扫描行数小于此参数的SQL,将不会记录到慢查询日志中,默认为0。
  • log_slow_admin_statements:慢速管理语句是否写入慢查询日志中,管理语句包含 alter table、create index 等,默认为 off 即不写入。

一般情况下,我们只需开启慢查询日志记录,配置下阈值时间,其余参数可按默认配置。对于阈值时间,可灵活调整,比如说可以设置为 1s 或 3s 。

阅读全文 »