mysql配置开启binlog与慢查询日志功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql配置开启binlog与慢查询日志功能相关的知识,希望对你有一定的参考价值。

备注:mysql有以下几种日志(本文罗列了mysql相关的日志说明,请结合实际需要配置开启):

 错误日志: -log-err

 查询日志: -log (可选)

 慢查询日志: -log-slow-queries (可选)

 更新日志: -log-update

 二进制日志: -log-bin

在mysql的安装目录下,打开my.ini(win)、my.cnf(linux)在后面加上上面的参数,保存后重启mysql服务就行了。

1、补充操作说明

mysql> show variables like ‘log_%‘;        --查看所有的log命令

mysql> show variables like ‘log_bin‘;      --查看具体的log命令

2、实施步骤

1)、查看二进制日志、慢查询日志、错误日志、操作日志是否开启

mysql> show variables like ‘%log%‘;

2)、编辑my.ini 或 my.cnf配置文件,在[mysqld]下添加参数,开启二进制日志、慢查询日志、错误日志、操作日志(路径请以实际环境为准,下面以linux环境举例)

#log

binlog_format = row

expire_logs_days = 7

binlog_cache_size = 65536

log_bin_trust_function_creators = 1

log_bin = /usr/local/mysql/binlog/mysql-bin

long_query_time=1

slow_query_log_file = /usr/local/mysql/log/slowquery.log

log_error=/usr/local/mysql/log/error.log

log_timestamps = SYSTEM

general_log = on

general_log_file = /usr/local/mysql/log/general.log

3)、重启mysql服务

systemctl restart mysqld

4)、验证

查看二进制日志、慢查询日志、错误日志、操作日志是否开启

mysql> show variables like ‘%log%‘;

3、注意事项

当开启general_Log后,会记录所有操作,这样general_Log文件就会很大,需要定期清空此文件来释放磁盘空间

mysql> SET GLOBAL general_log = 0;

mysql> exit;

cat /dev/null > general_log.csv

4、在线开启慢查询日志

mysql> set global slow_query_log=1;

mysql> show variables like ‘%slow_query_log%‘;

mysql> set global long_query_time=1;

mysql> show variables like ‘long_query_time‘;

mysql> set global slow_query_log_file=‘/usr/local/mysql/log/slowquery.log‘;

mysql> show variables like ‘slow_query_log_file‘;

mysql> set global log_queries_not_using_indexes=1;

mysql> show variables like ‘log_queries_not_using_indexes‘;

以上是关于mysql配置开启binlog与慢查询日志功能的主要内容,如果未能解决你的问题,请参考以下文章

mysql ,binlog 日志查询

MySQL中查询日志与慢查询日志的基本学习教程(转)

mysql开启binlog日志和慢查询日志

mysql开启binlog日志和慢查询日志

开启mysql-binlog日志操作步骤

mysql 开启binlog 影响性能吗