mysql5.7.25 log使用记录

原创
07/24 14:43
阅读数 155

mysql5.7.25 log使用记录

binlog

  • 设置mysql.ini开启binlog

    • 查看binlog 是否开启

      SHOW VARIABLES LIKE 'log_bin'
      
    • mysql.ini配置信息

      [mysqld]
      port = 3306
      basedir=C:/Development/mysql/mysql-5.7.25-winx64
      datadir=C:/Development/mysql/mysql-5.7.25-winx64/data 
      max_connections=200
      character-set-server=utf8
      default-storage-engine=INNODB
      sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
      secure_file_priv =
      
      #日志相关设置
      #开启日志以及日志存放地点
      log_bin = C:/Development/mysql/mysql-5.7.25-winx64/log/mysql-bin
      #mysql服务器的唯一标识(MySQL 5.7.3 及以后版本,如果没有设置server-id, 那么设置binlog后无法开启MySQL服务)
      server-id = 001
      #bin_log保存时间
      expire_logs_days = 7
      #binlog 文件大小
      max_binlog_size = 100m
      #binlog 日志存储类型
      binlog_format=MIXED
      [mysql]
      default-character-set=utf8
      
      • statement
        • 每一条会修改数据的sql都会记录到master的binlog中,slave在复制的时候sql进程会解析成和原来master端执行多相同的sql再执行。
      • rowr
        • 日志中会记录成每一行数据被修改的形式,然后在slave端再对相同的数据进行修改,只记录要修改的数据,只有value,不会m有sql多表关联的情况。
      • mixed
        • 5.1.8 版本开始,MySQL 提供了除 Statement 和 Row 之外的第三种复制模式:Mixed,实际上就是前两种模式的结合。在 Mixed 模式下,MySQL 会根据执行的每一条具体的 SQL 语句来区分对待记录的日志形式,也就是在 statement 和 row 之间选择一种。
      • 设置好my.ini 文件重启服务
  • 查看binlog 日志文件的列表

    SHOW BINARY LOGS
    
  • 查看binlog 日志内容

    • 命令

      C:\Development\mysql\mysql-5.7.25-winx64\bin> mysqlbinlog.exe   C:\Development\mysql\mysql-5.7.25-winx64\log\mysql-bin.000001
      
  • 使用binlog日志做数据恢复

    • 恢复到截止xxx时间之前的状态
      C:\Development\mysql\mysql-5.7.25-winx64\bin>  mysqlbinlog.exe  --stop-datetime="2020-07-24 11:09:07"          C:\Development\mysql\mysql-5.7.25-winx64\log\mysql-bin.000003  | mysql -u root -p
      
  • 删除binlog 日志

    • 全部清理
      RESET MASTER
      
    • 截止xxxx 之前的进行清理,不包括截止文件
      PURGE MASTER LOGS  TO  "mysql-bin.000002"
      
    • 删除这个日期之前创建的归档日志,当天的会进行保留
      PURGE MASTER LOGS BEFORE '20200724'
      

slow_query_log 慢日志

  • 查看mysql 慢日志是否开启
    show variables like 'slow_query_log';
    
  • 设置my.ini 开启慢日志
    # 开启慢日志
    slow_query_log=on
    # mysql 慢日志存储地址
    slow_query_log_file = C:/Development/mysql/mysql-5.7.25-winx64/log/slow_query.log
    # 慢查询判断时间,单位是秒
    long-query-time = 3
    
    • 设置完以后,进行重启,就可以在指定的地方看到慢日志的文件了
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部