Mysql 日志管理

Mysql 日志管理

日志分类

  • 错误日志 :启动,停止,关闭失败报错,rpm安装日志位置 /var/log/mysqld.log
  • 通用查询日志:所有的查询都加下
  • 二进制日志:实现备份,增量备份。只记录改变数据,除了select。
  • 中继日志:读取服务器binlog,在本地回放。保持一致。
  • slow log:慢查询日志,指导调优,定义某一个查询语句,定义超时时间,通过日志提供调优建议给开发人员。
  • DDL log:定义语句的日志

error log (错误日志)

vim  /etc/my.cnf

log-error=/var/log    该字段标记是否启动日志,以及日志位置
若哪天mysql服务起不来,就来此查看。

binary log(二进制日志)

启动二进制日志

vim   /etc/my.cnf

log_bin         添加该字段指定二进制日志
server-id=2     集群问题,须比指定该主机的序号,字数随意。

测试

查看二进制日志文档当前状态
1.查询二进制文件生成
ls /var/lib/mysql/^bin*
2.查看二进制文件日志
mysqlbinlog -v   /var/lib/mysql/localhost-bin.000001
进入数据库进行数据操作

创库,创表,创数据

完成二进制日志启动查询测试
mysqlbinlog -v /var/lib/mysql/localhost-bin.000001 
找到之前创建记录即可
注意
  • 重启mysqld会截断bin日志,产生新的二进制日志
  • flush logs 会截断日志
  • reset master 删除所有binlog。等同于rm-rf
  • 删除部分
净化掉1号日志文件
PURGE BINARY LOGS TO 'mysql-bin.010'
临时暂停二进制文件
目的
数据库还原行为,避免重复的记录。
set sql_log_bin=0   禁用二进制日志
set sql_log_bin=1   恢复二进制日志
查看binlog日志
# mysqlbinlog  /var/lib/mysql/localhost-bin.000001

slow query log

vim /etv/my.cnf 加入下面三行

1.slow_query_log=1     
# 启动慢查询日志 ,这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句。
2.slow_query_log_file
默认日志文件在/var/lib/mysql*slow*中

如果希望独立存储日志文件,可跟上日志文件:
slow_query_log_file=/var/log/mysql-slow/slow.log 

# mkdir /var/log/mysql-slow/
# chown mysql.mysql /var/log/mysql-slow/
# systemctl restart mysqld
3.long_query_time=3
当sql语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或更短。

ll /var/lib/mysql/*slow* 查看日志文件已生成

你可能感兴趣的:(运维,mysql,日志)