前言:建议所有的日志都是在初始化之前设定好,都需要重启生效general_log,生产中可能不开
1.日志类型的介绍
1.1 error log 错误日志 默认开启 注意使用mysql_safe 启动的方式才会记录错误日志
默认位置 datadir=/data/3306/data/hostname.error
1.2控制参数设置 :
配置文件中写入 log_error=/data/3306/error.log #注意:最好是初始化之前设定好,否则会出现小bug,5.7版本之后如果是初始化之后才设定,需要手动创建日志文件touch error.log,日志文件要和数据存储数据目录分开防止IO出现争用干扰。
1.3错误日志存放什么数据:
1.3.1启动失败,主从故障,死锁,数据库hang住,记录堆栈信息,主要查看[error]。
1.4日志级别:
show variables like ‘%log_error%’;
log_error_verbosity 2 ## 分为三个等级 1是错误信息 2错误信息和警告3错误,告警,通知信息
2.二进制日志(binlog)
2.1.binlog日志介绍:
binlog 记录了mysql 发生过的修改的操作日志,除了show select ,修改操作都会记录到binlog。
数据恢复,主从,审计(需要用工具),sql问题排查
2.2配置binLog
1.8.0默认开启binlog,2.默认在datadir binlog.0000001 建议:binlog日志不要跟数据放在一起,防止数据跟binlog一起丢失。
参数 server_id=1(身份号大于0的数字)log_bin=路径/文件名前缀.?

3.慢日志slowlog

3.1慢日志的作用记录数据库运行较慢的sql,默认没有打开
3.2慢日志配置参数介绍:
long_query_time=0.5 ##记录执行过慢的语句超过0.5秒就记录
以下配置都可以在线改 set global 加上参数
slow_query_log=1 # 开关 1或者on off /0 1
slow_query_log_file=路径 ##存放慢日志的路径
log_queries_not_using_indexes=1 ##记录不用索引的语句。
log_throttle_queries_not_using_indexes=1000; ## 记录1000个不使用索引的语句
初始化之前设定好。

4.普通日志general_log

general_log
普通日志,会记录所有数据库发生的事件及语句。
[root@localhost ~]# # 普通日志 general_log
[root@localhost ~]# # 文本格式记录MySQL运行期间,所有的所作语句, 可以做问题诊断和调试
[root@localhost ~]# # 参数: general_log , general_log_file
[root@localhost ~]# vim /etc/my.cnf
general_log=on #开关
general_log_file=/data/3306/log/genlog #存放路径