zoukankan      html  css  js  c++  java
  • Mysql binlog的基本使用和数据库恢复步骤

    前言

    简单记录下使用binlog的使用和恢复数据库的操作

    开启binlog

    开启mysql binlog日志,进入mysql配置文件(vi /etc/my.cnf) 在mysqld区域内添加如下内容,

     # 单个节点id
    server-id = 1
     # 位置一般和mysql库文件所在位置一样
    log-bin= /var/lib/mysql/mysql-bin
    # 表示此日志保存时间为10天
    expire_logs_days = 10
    

    重启mysqld,再次查看binlog日志开启状态为ON

    binlog常用命令

    show variables like '%log_bin%'; //查看binlog开启状态
    show variables like '%datadir%'; //查看binlog存放日志文件目录
    show master logs; //查看所有binlog日志文件列表
    show binlog events in ‘mysql-bin.000003’; //查看binglog日志内容
    Flush logs  //刷新日志
    

    恢复数据库

    一般流程

    备份数据库=> 刷新binlog => 操作失误 => 使用mysqlbinlog生成最近备份到失误前的命令的.sql文件 => 还原最新的备份数据库 => 执行.sql文件(执行备份后执行的正确命令)

    1.1 linux下使用

    # 使用pos生成
    /usr/bin/mysqlbinlog  --start-position=573 --stop-position=718 --database=hello  /var/lib/mysql/mysql-bin.000006 | /usr/bin/mysql -uroot -p密码 -v hello
    # 使用日期生成
    /usr/bin/mysqlbinlog --start-datetime="2018-04-27 20:57:55" --stop-datetime="2018-04-27 20:58:18" --database=hello /var/lib/mysql/mysql-bin.000009 | /usr/bin/mysql -uroot -p密码 -v hello
    

    1.2 windows下使用

    # 使用pos生成
    /usr/bin/mysqlbinlog  --start-position=573 --stop-position=718 --database=hello  /var/lib/mysql/mysql-bin.000006 > sql6.sql
    
    

    2 恢复

    source sql6.sql
    

    总结:

    1.恢复之前先用备份数据库恢复数据

    2.使用mysqlbinlog命令时 不可以在window powershell下执行,可以在cmd下执行

    3.最后使用binlog生成的sql文件恢复数据时,不可以在navicate里面执行文件,只能在cmd下执行

    4.备份数据库和使用binlogs命令的时候,最好使用flush logs刷新binlog日志,可以简化日后对binlog日志的pos查找

    5.mysqlbinlog可在mysql的bin目录下找到 windows: C:Program FilesMySQLMySQL Server 8.0in

  • 相关阅读:
    C++ 中int,char,string,CString类型转换
    《Regularized Robust Coding for Face Recognition》
    备份:一个Python最简单的接口自动化框架
    python自动化初始页面踩坑指南
    appium连接夜神浏览器,踩坑指南。
    sublime python环境配置
    appium+夜神模拟器
    python学习随笔
    xampp+discuz 安装踩坑后总结
    XAMPP 安装时 MySQL 无法启动,且提示端口占用。
  • 原文地址:https://www.cnblogs.com/xpengp/p/12766468.html
Copyright © 2011-2022 走看看