mysql配置开启binlog与慢查询日志功能
程序员文章站
2024-02-10 13:17:46
...
备注: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';