文章目录
1 错误日志(err.log)
—1.1 作用
从启动开始,发生过的error,warning,note信息。
定位数据库问题:启动故障,主从故障,死锁,数据库hang住(会记录堆栈信息)
—1.2 配置
默认开启位置log_error=$DATDDIR/hostname.err,即/data/3306/data/db01.err
注意:
建议在初始化之前配置,否则需要touch个err.log文件;日志和数据分开存储,例如/data/3306/log/mysql-err.log
配置过程:
cat /etc/my.cnf [mysqld] log_error=/data/3306/log/mysql-err.log mkdir -p /data/3306/log/ touch /data/3306/log/mysql-err.log chown -R mysql.mysql /data/ /etc/init.d/mysqld restart
看主要日志:
[ERROR]:如[ERROR] [MY-000068] [Server] unknown option--指配置文件有问题
日志记录级别log_error_verbosity:
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; 3个级别: 1.错误信息error; 2.错误信息error和告警信息waring; 3.错误信息error,告警信息waring和通知信息note
2 二进制日志(binlog)
—2.1 作用
记录了MySQL 修改类操作日志,除了show,select语句。
主要作用:数据恢复、主从、SQL问题排查、审计(工具:binlog2sql,my2sql)
—2.2 配置方法
8.0默认开启binlog默认在datadir/binlog.0000001
注意:
建议在初始化之前配置,日志和数据分开存储
必须设置的参数为server_id和log_bin
配置过程:
vim /etc/my.cnf [mysqld] server_id=51 log_bin=/data/3306/log/mysql-bin
重启并查看:
/etc/init.d/mysqld restart ll /data/3306/log/ -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 -rw-r--r-- 1 mysql mysql 12361 Nov 20 23:26 mysql-err.log
3 慢日志(slow_log)
—3.1 作用
记录MySQL工作中运行较慢的语句。用来定位SQL语句性能问题。
—3.2 配置方法
默认不打开,建议在初始化之前配置
配置过程:
vim /etc/my.cnf [mysqld] 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; 在线修改(重启会失效): set global slow_query_log=1 set global long_query_time=0.5默认0.1-10s set global log_queries_not_using_indexes=1 记录不走索引语句 set global log_throttle_queries_not_using_indexes=1000; 记录最近1000条不走索引语句
4 普通日志(general_log)
—4.1 介绍
文本格式,记录MySQL运行期间所有的操作语句,可以做问题诊断和调试
—4.2 配置
默认不打开,生产中一般不开启,建议在初始化之前配置。
[root@localhost ~]# vim /etc/my.cnf [mysqld] general_log=on general_log_file=/data/3306/log/genlog