当前位置: 代码网 > it编程>数据库>Mysql > MySQL8.0的工具日志配置管理方式

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

2025年07月07日 Mysql 我要评论
日志分类error log:错误日志genernal log:普通日志binlog:二进制日志slow log:慢日志设置错误日志配置:默认位置:log_error=$datddir/hostname

日志分类

  • 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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com