MySQL 8.0 日志配置管理

1.错误日志

复制代码
#配置:
默认位置:
log_error=$DATDDIR/hostname.err
看日志: 主要关注 [ERROR],deadlock
# 默认开了,默认位置 datadir=/data/3306/data/HOSTNAME.err
# 控制参数 log_error=/data/3306/err.log, 
# 注意: 日志和数据分开存储 例如: /mysqllog/3306/mysql-err.log
[root@localhost ~]# cat /etc/my.cnf
[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 ~]# touch /data/3306/log/mysql-err.log
[root@localhost ~]# chown -R mysql.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 | #可以调整级别,级别越大,日志越详细,对性能也有影响
+----------------------------+----------------------------------------+

mysql> set global log_error_verbosity=3
1.错误信息;
2.错误信息和告警信息;
3.错误信息、告警信息和通知信息。

#如果mysql启动不了,而且日志中没有记录,可以用mysld & 将日志打印在屏幕上
mysqld & #相当于后台启动,同时日志打印在屏幕上

复制代码

2.二进制日志(binlog)

复制代码
#1.作用
 binlog 作用
  a.记录了MySQL 发生过的修改的操作的日志。,除了show select ,修改操作都会记录binlog
  b.数据恢复、主从、SQL问题排查、审计(工具:binlog2sql my2sql)
  
#2.配置方法
 配置binlog
1. 8.0默认开启binlog 
2. 默认在datadir binlog.0000001
3. 建议日志和数据分开存储
4. 参数 server_id=111 log_bin=路径/文件名前缀

#3.显示配置文档
[root@db01 /data/3306/log14:51:10]# cat /etc/my.cnf
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
datadir=/data/3306/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
server_id=51
log_error=/data/3306/log/mysql-err.log
log_bin=/data/3306/log/mysql-bin
[root@localhost ~]# /etc/init.d/mysqld restart
#4.确认配置binlog启效
[root@db01 /data/3306/log14:52:13]# ll
total 12
-rw-r----- 1 mysql mysql  156 Apr 12 14:51 mysql-bin.000001
-rw-r----- 1 mysql mysql   32 Apr 12 14:51 mysql-bin.index
-rw-r--r-- 1 mysql mysql 2798 Apr 12 14:51 mysql-err.log
复制代码

3.慢日志(slow_log)

复制代码
#1.作用
 记录MySQL工作中,运行较慢的语句。用来定位SQL语句性能问题。

#2.配置方法
 开关:
slow_query_log=1                               #默认为0,表示关闭
slow_query_log_file=/data/3306/log/slow.log    #慢日志路径

维度: #在线设置
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

#3.确认配置文档
[root@db01 /etc/init.d15:19:00]# cat /etc/my.cnf
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
datadir=/data/3306/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
server_id=51
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
[root@localhost ~]# /etc/init.d/mysqld restart
复制代码

4.general_log

复制代码
#1.作用
 普通日志,会记录所有数据库发生的事件及语句。
 文本格式记录MySQL运行期间,所有的所作语句, 可以做问题诊断和调试
 
#2.配置
参数: general_log , general_log_file= 路径 
general_log=1     #默认关闭状态  0
general_log_file=/data/3306/log/genlog

#3.确认配置生效
[root@db01 /data/3306/log15:39:56]# cat /etc/my.cnf
[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
datadir=/data/3306/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
server_id=51
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=1
general_log_file=/data/3306/log/genlog

[root@localhost ~]# /etc/init.d/mysqld restart
复制代码

 

posted @   Linux运维-Friend  阅读(1987)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示