MySQL8.0的工具日志配置管理方式

 更新时间:2025年07月07日 10:23:31   作者:MyySophia  
MySQL日志分类包括错误日志(记录错误信息)、普通日志(全量操作记录)、二进制日志(用于数据恢复、主从复制和审计,默认8.0开启)、慢日志(记录性能低的SQL),配置需在my.cnf中设置,重启生效,建议分离存储日录与数据

日志分类

  • error log:错误日志
  • genernal log:普通日志
  • binlog:二进制日志
  • slow log:慢日志

设置错误日志

配置:
默认位置:
log_error=$DATDDIR/hostname.err
看日志: 主要关注 [ERROR],deadlock
[root@localhost ~]# # errorlog
[root@localhost ~]# # 默认开了,默认位置 datadir=/data/3306/data/HOSTNAME.err
[root@localhost ~]# # 控制参数 log_error=/data/3306/err.log, 注意: 最好是初始化之前设定好。
[root@localhost ~]# # 注意: 日志和数据分开存储 例如: /mysqllog/3306/mysql-err.log
[root@localhost ~]# vim /etc/my.cnf
[root@localhost ~]# cat /etc/my.cnf
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
server_id=51
port=3306
socket=/tmp/mysql.sock
log_error=/data/3306/log/mysql-err.log

设置错误日志等级

[root@localhost ~]# mkdir -p /data/3306/log/
[root@localhost ~]# chown -R mysql.mysql /data/
[root@localhost ~]# /etc/init.d/mysqld restart
Shutting down MySQL.... [ OK ]
Starting MySQL.2021-11-20T14:58:53.264890Z mysqld_safe error: log-error set to
'/data/3306/log/mysql-err.log', however file don't exists. Create writable for
user 'mysql'.
The server quit without updating PID file
(/data/3306/data/[FAILED]t.localdomain.pid).
[root@localhost ~]# touch /data/3306/log/mysql-err.log
[root@localhost ~]# chown -R mysql. /data/
[root@localhost ~]# /etc/init.d/mysqld restart
错误日志:
启动故障
主从故障
死锁
数据库hang,堆栈信息
主要关注: [ERROR]
[ERROR] [MY-000068] [Server] unknown option ---》 配置文件有问题
日志记录级别
mysql> show variables like '%log_error%';
+----------------------------+----------------------------------------+
| Variable_name | Value |
+----------------------------+----------------------------------------+
| binlog_error_action | ABORT_SERVER |
| log_error | /data/3306/log/mysql-err.log |
| log_error_services | log_filter_internal; log_sink_internal |
| log_error_suppression_list | |
| log_error_verbosity | 2 |
+----------------------------+----------------------------------------+
5 rows in set (0.00 sec)

生效时间

mysql> set global log_error_verbosity=3; 下一次登录生效。

二进制日志(binlog)

作用

记录了MySQL 发生过的修改的操作的日志。,除了show select ,修改操作都会记录binlog

数据恢复、主从、SQL问题排查、审计(工具:binlog2sql my2sql)

配置

  • 8.0默认开启binlog
  • 默认在datadir binlog.0000001
  • 建议日志和数据分开存储,避免磁盘IO 抢占。

定义 参数 server_id=111

log_bin=路径/文件名前缀

 cat /etc/my.cnf
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
server_id=51
port=3306
socket=/tmp/mysql.sock
log_error=/data/3306/log/mysql-err.log
log_bin=/data/3306/log/mysql-bin

重启生效

cd /data/3306/log/
[root@localhost log]# ll
total 24
-rw-r----- 1 mysql mysql 156 Nov 20 23:26 mysql-bin.000001
-rw-r----- 1 mysql mysql 32 Nov 20 23:26 mysql-bin.index

慢日志(slow_log)

作用

记录MySQL工作中,运行较慢的语句。用来定位SQL语句性能问题。

建议都在my.cnf 中配置,因为重启才能永久生效。

开关:
slow_query_log=1
slow_query_log_file=
维度:
set global slow_query_log=1
set global long_query_time=0.5
set global log_queries_not_using_indexes=1
set global log_throttle_queries_not_using_indexes=1000;

general_log 业务sql

普通日志,会记录所有数据库发生的事件及语句

[root@localhost ~]# # 普通日志 general_log
[root@localhost ~]# # 文本格式记录MySQL运行期间,所有的所作语句, 可以做问题诊断和调试
[root@localhost ~]# # 参数: general_log , general_log_file
[root@localhost ~]# vim /etc/my.cnf
[root@localhost ~]# cat /etc/my.cnf
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/3306/data
server_id=51
port=3306
socket=/tmp/mysql.sock
log_error=/data/3306/log/mysql-err.log
log_bin=/data/3306/log/mysql-bin
slow_query_log=1
slow_query_log_file=/data/3306/log/slow.log
long_query_time=0.5
log_queries_not_using_indexes=1
log_throttle_queries_not_using_indexes=1000
general_log=on
general_log_file=/data/3306/log/genlog

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • mysql累加计算实现方法详解

    mysql累加计算实现方法详解

    这篇文章主要介绍了mysql累加计算实现方法,结合实例形势分析了mysql累加计算原理、实现方法及操作注意事项,需要的朋友可以参考下
    2020-05-05
  • mysql数据库修改添加Date格式列的方法

    mysql数据库修改添加Date格式列的方法

    这篇文章主要介绍了关于mysql数据库如何修改添加Date格式的列 ,需要的朋友可以参考下
    2014-07-07
  • MySQL配置文件my.cnf中文详解附mysql性能优化方法分享

    MySQL配置文件my.cnf中文详解附mysql性能优化方法分享

    Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的观察以及调试,才有可能得到最佳效果。
    2011-09-09
  • 基于Mysql的Sequence实现方法

    基于Mysql的Sequence实现方法

    下面小编就为大家带来一篇基于Mysql的Sequence实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Mysql在项目中相关使用方法指南(简单操作数据库)

    Mysql在项目中相关使用方法指南(简单操作数据库)

    作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的,下面这篇文章主要给大家介绍了关于Mysql在项目中相关使用方法的相关资料,主要是简单操作数据库,需要的朋友可以参考下
    2022-08-08
  • MySQL中EXPLAIN的/基本使用及字段详解

    MySQL中EXPLAIN的/基本使用及字段详解

    EXPLAIN命令是MySQL中用于解析SQL查询语句的工具,帮助开发者理解MySQL如何执行SQL语句,通过EXPLAIN可以查看SQL执行的详细信息,如表的读取顺序、使用的索引、数据读取操作的类型等,这篇文章主要介绍了MySQL中EXPLAIN的/基本使用及字段详解,需要的朋友可以参考下
    2024-09-09
  • MySQL 5.6.14 win32安装方法(zip版)

    MySQL 5.6.14 win32安装方法(zip版)

    这篇文章主要介绍了MySQL 5.6.14 win32安装方法(zip版)的相关资料,非常不错,需要的朋友可以参考下
    2016-08-08
  • 浅谈Mysql insert on duplicate key 死锁问题定位与解决

    浅谈Mysql insert on duplicate key 死锁问

    本文介绍了在并发场景下的 insert on duplicate key update sql 出现的死锁,经过分析发现这种sql确实比较容易造成死锁,这篇文章就从分析死锁展开,到最终如何解决这样的问题 分享相应的思路,感兴趣的可以了解一下
    2022-05-05
  • MySQL基础教程之IN的用法详解

    MySQL基础教程之IN的用法详解

    这篇文章主要介绍了MySQL基础教程之IN的用法详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • winxp 安装MYSQL 出现Error 1045 access denied 的解决方法

    winxp 安装MYSQL 出现Error 1045 access denied 的解决方法

    自己遇到了这个问题,也找了很久才解决,就整理一下,希望对大家有帮助!
    2010-07-07

最新评论