mysql开启二进制日志性能_mysql 开启慢查询、二进制日志

对于SQL调优,其中关键的一点是开启慢查询日志。MYSQL会记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,

才能更好的优化数据库系统的性能。

MYSQL慢查询日志默认是关闭的。需要通过在 /etc/my.cnf 配置中添加如下参数:

#开启慢查询日志

slow_query_log=ON

#慢查询的阈值,默认为10秒,最小为0,精度可以到微妙

long_query_time=3

#日志记录文件如果没有给出file_name值, 默认为主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。

slow_query_log_file=slow_query.log

配置修改后,重启数据库

# service mysqld restart

验证开启慢日志查询:

第一种直接通过变量来确认是否开启。

mysql> show variables like 'slow_query%';

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

| Variable_name | Value |

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

| slow_query_log | ON |

| slow_query_log_file | slow_query.log |

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

2 rows in set (0.00 sec)

mysql> show variables like 'slow_query_time%';

Empty set (0.00 sec)

mysql> show variables like 'long_query_time%';

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

| Variable_name | Value |

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

| long_query_time | 3.000000 |

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

1 row in set (0.00 sec)

第二种是直接通过查看慢日志文件内容来确认:

执行超过3s的查询语句。

e91c8078400dbd5ec4f067156a75b6de.png

35dcd6cc98d84dde0ad8c823e9e10ce2.png

查看慢查询日志内容:

eada6946643c8ebfb776793a54a71575.png

这样我们就能通过慢日志拿到SQL,从而再对SQL进行索引排查,进行SQL优化。

二进制文件:记录数据变化

binlog记录了数据库所有的ddl语句和dml语句,但不包括select语句内容,语句以事件的形式保存,描

述了数据的变更顺序,binlog还包括了每个更新语句的执行时间信息。如果是DDL语句,则直接记录到

binlog日志,而DML语句,必须通过事务提交才能记录到binlog日志中。 生产中才开启二进制日志。

主要作用:数据备份、恢复、主从

开启二进制日志:

在 /etc/my.cnf 配置中添加如下配置:

log-bin=mysql-bin

执行 service mysqld restart 重启数据库。查看数据库目录

37a4342139218d0ac4757d9d25845f2e.png

出现了mysql-bin文件,后面的序号是备份次数,文件会在数据库备份、重启时,都会为当前的数据进行备份。

比如我再执行多两次重启数据库,会生成这样的文件。

4c4ee764ee8003267fb4a23c7acdd483.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值