zoukankan      html  css  js  c++  java
  • 关于mysqlbinlog的重要性.

    今天在做update更新数据的时候,因为没有统一好需要更新的数据编执行了update操作,所以需要回滚到先前的数据,所以就赶紧去服务器看binlog日志,结果一看binlog竟然没有开启,把我给惊的啊,然后一看mysql原来是用的腾讯云的mysql数据库,自带的开启了binlog功能,知道了这点,然后就好办了,赶紧回滚吧.

    下载binlog2sql工具

    git clone https://github.com/danfengcao/binlog2sql.git
    pip install -r requirements.txt
    

    查看binlog

    进入到show master logs;查看binlog信息,并找到最新的binlog文件.

    执行回滚操作

    假设我这里mysql-bin.000002是最新的binlog日志.则可以使用如下命令进行操作:
    1.查看:python binlog2sql/binlog2sql.py -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -t f --start-file='mysql-bin.000002'
    2.生成: python binlog2sql/binlog2sql.py -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -t f --start-file='mysql-bin.000002' --start-pos=4 --end-pos=314 -B
    3.执行:python binlog2sql.py -h127.0.0.1 -P3306 -uadmin -p'admin' -dtest -t f --start-file='mysql-bin.000002' --start-pos=4 --end-pos=314 -B | mysql -h127.0.0.1 -P3306 -uadmin -p'admin'

    开启自己本机的binlog功能

    拿我的mysql来说,mysql配置文件在/etc/mysql/mysql.conf.d,具体操作步骤如下:

    #cd /etc/mysql/mysql.conf.d
    #vim mysqld.cnf
    

    找到server-id选项,并开启相应配置:

    server-id = 1
    log_bin = /var/log/mysql/mysql-bin.log
    max_binlog_size = 1000M
    binlog-format = row
    

    然后重启mysql服务

    sudo service mysql restart
    

    连接到数据库,并使用吗show master logs;命令查看binlog日志,如果出现如下结果就说嘛开启成功.
    +------------------+-----------+
    | Log_name | File_size |
    +------------------+-----------+
    | mysql-bin.000001 | 154 |
    +------------------+-----------+

    进行到这一步,说明你的binlog已经可以起飞了,不过在实际操作数据库的过程中还是要多加注意,在进行DDL的操作过程中需要更加的注意.
    参考:
    https://www.cnblogs.com/panxuejun/p/6148324.html

  • 相关阅读:
    DOM-DOMTree-查找

    用sql语句操作数据库
    数据查询基础
    【案例】城市地址三级联动
    【案例】城市地址二级联动
    【案例】高仿百度注册页
    【案例】自由运动小球
    【案例】使用上下左右键控制元素的移动
    事件
  • 原文地址:https://www.cnblogs.com/ontheway1024/p/8986529.html
Copyright © 2011-2022 走看看