全面了解Mysql(四)日志

  1. 错误日志
    使用命令SHOW VARIABLES LIKE ‘LOG_ERROR’ \G 可以查看错误日志的位置,当数据库宕机,不能正常使用时,首先应该查看该日志,其中也会存在一些警告,用户也可以通过该文件进行优化
  2. 二进制日志
    记录了mysql数据库所有更改操作,不包括查询,通过配置参数log-bin来开启二进制日志,注意配合的server-id=1(该值是服务id),不然启动不了,使用命令SHOW MASTER STATUS \G 来查看bin文件位置
    全面了解Mysql(四)日志_第1张图片
    然后使用 SHOW BINLOG EVENTS IN ‘localhost-bin.000001’ \G查看事件
    全面了解Mysql(四)日志_第2张图片
    通过该日志,我们可以查看修改操,和修改操作用时,这些文件主要作用是恢复,当数据库恢复后,可能有些操作未能恢复,可以使用该文件恢复。进行多台数据库实时同步,可以通过该日志分析数据库是否进行了注入攻击。
    相关的参数有:
    max_binlog_size单个二进制日志文件最大值
    binlog_cache_size二进制日志缓冲大小
    sync_binlog写几次缓冲同步到磁盘
    binlog-do-db写入哪些库的日志
    binlog-ignore-db忽略哪些库的日志
    log-slave-update当时slave时配置它可以将日志写入自己的日志文件中
    binlog_format记录二进制日志格式
    如果要查看二进制日志内容,必须记住mysql提供的工具mysqlbinlog。
  3. 慢查询日志
    使用下面的参数配置开启慢查询 slow_query_log = 1
    slow-query-log-file = log.log
    long_query_time = 10
    注意大多数人开启慢查询日志时都是失败的Errcode: 13 - Permission denied,通过show variables like ‘%slow_query_log%’;可以查看log是否开启,如果没有,set global slow_query_log=1;报错的话多半是selinux问题,需要设置vi /etc/selinux/config,将SELINUX项改成:SELINUX=disabled,需要重启电脑,临时的办法是 setenforce 0,在执行刚刚的set global slow_query_log=1就可以开启慢查询。
    命令show global status like ‘%slow_queries%’;可以查看慢查询条数
    全面了解Mysql(四)日志_第3张图片
    命令set global log_output=‘table’;可以修改输出到文件为输出到表
    select * from mysql.slow_log \G查询该表记录
    全面了解Mysql(四)日志_第4张图片
  4. 查询日志
    使用general_log配置日志开关
    使用命令show variables like ‘%general_log_file%’;查看日志位置
    全面了解Mysql(四)日志_第5张图片
    mysql所有查询日志都会在这,不管成功不成功。
    全面了解Mysql(四)日志_第6张图片

你可能感兴趣的:(数据库)