zoukankan      html  css  js  c++  java
  • 练手mysqlbinlog日志恢复数据(centos6.5 64,mysql5.1)

    练手mysql bin log日志相关

    系统是centos 6.5 64 阿里云的服务器 

    mysql版本5.1

    1 如何开启bin-log日志?

    vi /etc/my.cnf

    [mysqld]

    log-bin=mysql-bin

    默认开启

     

    2 查看日志文件

    ls /var/lib/mysql

    记录了所有的数据库变化操作(数据增删改,创建表等)

    3查看是否开启? 

    先进入mysql中 然后使用如下命令

    show variables like "log_%";

    log_bin   | ON

     

    4 bin-log日志刷新

    mysql>flush logs;

    开始一个新的bin-log日志,记录此刻以后的操作

    ls /var/lib/mysql/

    相当于从新拿一个笔记本,从第一页的位置开始记录以后的日志,之前的笔记本,不再使用。

    5 查看当前使用的bin-log信息

    mysql> show master status;

     

    一个新的笔记本,默认从106的位置开始记录。(mysql5.2从106开始记录)

    Position记录的是位置信息,如果执行增删改语句,位置将发生变化。

    6 查看bin-log日志内容

    cd /var/lib/mysql/

    /usr/bin/mysqlbinlog mysql-bin.000001

     

    7 新建一个数据库做导入测试

    create database test;

    create table t2(id int(8) not null primary key auto_increment,name varchar(20) not null );

    插入几条数据

    insert into t2 (name) values('test1');

    insert into t2 (name) values('test2');

    insert into t2 (name) values('test3');

    insert into t2 (name) values('test4');

    8 查看下日志文件

    cd /var/lib/mysql

     /usr/bin/mysqlbinlog mysql-bin.000001

    查询到最后1个 插入语句是从803开始到903结束的

    9 到数据库中删除 test3 和test 4

    10 再次查看bin log  日志

    可以很清晰的看到 删除语句  2个delete

    11 那么开始准备恢复

    ./mysqlbinlog --no-defaults --start-position 803 --stop-position 903 /var/lib/mysql/mysql-bin.000001 |mysql -uroot -ppassword  test

    执行成功

    开始位置  结束位置  binlog文件路径|mysql 用户名密码  最后一个是数据库的名称

    12 去数据库查看是否已经恢复test3和test4的数据

     

    恢复成功

    总结:

    最后介绍个bin_log的操作: 

     
    清空现有的所用bin-log 

    reset master

  • 相关阅读:
    getGuid()
    DELPHI7在WIN8和WIN10下安装和运行
    oracle存储过程返回数据集结果
    咏南多层开发框架支持最新的DELPHI 10 SEATTLE
    咏南中间件支持手机客户端
    最精简的IOCP封装
    完成端口iocp——在螺丝壳里做道场
    异步选择模式中使用完成端口做它的消息队列
    阿里百川IMSDK--自定义群聊界面
    Customizing Navigation Bar and Status Bar
  • 原文地址:https://www.cnblogs.com/baker95935/p/6529940.html
Copyright © 2011-2022 走看看