• 关于MySQL的日志管理(binlog)


    一、查看binlog的启用状态


    最常用的mysql版本是5.7,默认不开启binlog,可以在登录mysql之后,利用以下命令查看当前的binlog启用状态:

    mysql > show variables like "%log_bin%";

    图中显示“ON”,表示已开启binlog,刚安装完mysql5.7之后,默认是“OFF”

    二、开启binlog


    修改my.cnf配置文件:

    vim /etc/my.cnf

    在mysqld节点中添加以下参数:

    #设置唯一id
    server-id=1
    #开启bin-log,产生的bin-log文件名即为bin-log.*
    log-bin=/mnt/logs/mysql/mysql-bin
    #指定bin-log为row类别(5.7默认),其他两种是statement、mixed
    binlog_format=row
    #对指定的数据库开启bin-log,这里是对jw_base数据库开启bin-log服务
    binlog-do-db=jw_base
    #超过10天的日志文件会被清除
    expire_logs_days=10
    #默认大于100M时创建新的binlog文件,但出现大事务时可能会超过这个限制
    max_binlog_size=100M

    上面的参数中,将binlog的保存位置设置为:/mnt/logs/mysql

    这个目录要提前创建好,并且对其进行授权:

    chown -R mysql.mysql /mnt/logs/mysql

    重启mysql服务,使得更改后的配置生效:

    #重启服务
    systemctl restart mysqld
    #停止服务
    systemctl stop mysqld
    #启动服务
    systemctl start mysqld
    #查看服务状态
    systemctl status mysqld

    三、查看日志


    MySQL重启后,不出意外的话,就会在指定的位置生成了第一份binlog日志文件:mysql-bin.000001

    可通过以下命令查看该日志的内容:

    mysqlbinlog --no-defaults  --base64-output=decode-rows -v  mysql-bin.000001

    还可以使用时间范围进行过滤:

    mysqlbinlog --no-defaults  --base64-output=decode-rows -v --start-datetime='2021-01-01 00:00:00' --stop-datetime='2021-02-01 00:00:00'  mysql-bin.000001 | more

    如果日志内容太多,不便于查阅,还可以将结果导出到文件中:

    mysqlbinlog --no-defaults  --base64-output=decode-rows -v --start-datetime='2021-01-01 00:00:00' --stop-datetime='2021-02-01 00:00:00'  mysql-bin.000001 > /tmp/binlog001.sql

    四、临时关闭binlog


    在开启binlog的情况下,当出现大更新量的操作时,日志文件会快速增长,有时会达到很恐怖的程度

    因此在进行某些大量更新之前,可以临时关闭binlog:

    mysql > set sql_log_bin=0;

    待更新完成后,重新打开binlog:

    mysql > set sql_log_bin=1;

    宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒
  • 相关阅读:
    微服务框架核心问题
    django restframework 全局异常处理,编写自定义custom_exception_handler
    django 异常处理中间件
    drf_yasg2 定制swagger
    redis-django
    django 权限
    django restframework 多对多的批量修改,基于逻辑删
    python3 动态绑定
    Django restframework 逻辑删除
    django restframework 多对多模型
  • 原文地址:https://www.cnblogs.com/netWild/p/14358675.html
Copyright © 2020-2023  润新知