精华内容
下载资源
问答
  • mysql 查看二进制日志

    2016-08-29 09:26:57
    [root@APM data]# mysqlbinlog mysqlbinlog: unknown variable 'default-character-set=utf8' 经查询得到方法: ...mysqlbinlog --no-defaults mysql-bin.000628 问题原因为在my.conf中添加了defau
    [root@APM data]# mysqlbinlog

    mysqlbinlog: unknown variable 'default-character-set=utf8'


    经查询得到方法:

    在命令后加入--no-defaults 解决

    mysqlbinlog --no-defaults mysql-bin.000628


    问题原因为在my.conf中添加了default-character-set=utf8

    展开全文
  • mysql查看二进制日志操作记录

    千次阅读 2018-08-27 14:16:40
    查看主库 所有二进制日志 mysql> show binary logs; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | mysql-bin.000001 | 154 | +------------------+----...

    查看主库 所有二进制日志

    mysql> show binary logs;
    +------------------+-----------+
    | Log_name         | File_size |
    +------------------+-----------+
    | mysql-bin.000001 |       154 |
    +------------------+-----------+
    1 row in set (0.00 sec)
    

    查看详细信息:

    mysql> show binlog events in  'mysql-bin.000001';
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    | Log_name         | Pos | Event_type     | Server_id | End_log_pos | Info                                  |
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    | mysql-bin.000001 |   4 | Format_desc    |         1 |         123 | Server ver: 5.7.22-log, Binlog ver: 4 |
    | mysql-bin.000001 | 123 | Previous_gtids |         1 |         154 |                                       |
    +------------------+-----+----------------+-----------+-------------+---------------------------------------+
    2 rows in set (0.00 sec)
    


    查看二进制日志是否开启

    mysql> show variables like 'log_bin';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | ON    |
    +---------------+-------+
    1 row in set (0.00 sec)
    

     

    展开全文
  • 基本概念 定义: 二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。 作用: 1。二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志...
  • MySQL启用二进制日志

    2021-01-07 12:26:42
    1、创建存储mysql二进制日志目录 mysql> system mkdir -p /app/mysql/log/binary_log mysql> system chown -R mysql:mysql /app/mysql/log/binary_log 2、添加/etc/my.cnf 启动binary log 相关参数 log-bin=/app/...
  • 文章目录**MySQL使用二进制日志恢复数据库**一、二进制日志简介二、数据恢复实例 MySQL使用二进制日志恢复数据库 一、二进制日志简介 MySQL有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库...

    MySQL使用二进制日志恢复数据库

    一、二进制日志简介

    MySQL有不同类型的日志,其中二进制文件记录了所有对数据库的修改,如果数据库因为操作不当或其他原因丢失了数据,可以通过二进制文件恢复。

    在my.ini文件中设置了log-bin,重新启动MySQL后就开启了二进制日志。数据库每次重新启动(或执行flush logs命令)后,都会生成一个新的二进制日志,如在在my.ini文件中设置了

    log-bin=F:\mysqllog\logbin 
    

    则数据库第一次启动会生成logbin.000001,第二次启动会生成logbin.000002,第三次启动会生成logbin.000003,…,以此类推。

    二、数据恢复实例

    1. 为了便于说明,执行flush logs命令,生成一个新的二进制文件;

    2. 打开bookstore数据库中的authors表,里面已经有3条数据,在里面新插入两条数据,即第4条和第5条数据;

    在这里插入图片描述

    1. 假设由于操作失误,将第4条和第5条数据删除了;

    在这里插入图片描述

    1. 这时就考虑用二进制文件恢复第4条和第5条数据了,打开二进制文件的路径,发现有很多二进制日志文件,

    在这里插入图片描述

    其中编号最大的000030是最新的,记录了前面所述的记录插入和删除操作;

    1. 首先查看一下这个文件,运行以下命令将其转换成文本文件,

    在这里插入图片描述

    打开文本文件,可以看见记录下了记录的插入和删除操作。

    /*!40019 SET @@session.max_insert_delayed_threads=0*/;
    /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
    DELIMITER /*!*/;
    # at 4
    #150204 20:24:10 server id 1  end_log_pos 107     Start: binlog v 4, server v 5.5.25-log created 150204 20:24:10
    # Warning: this binlog is either in use or was not closed properly.
    BINLOG '
    ag/SVA8BAAAAZwAAAGsAAAABAAQANS41LjI1LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAVAAEGggAAAAICAgCAA==
    '/*!*/;
    # at 107
    #150204 20:25:40 server id 1  end_log_pos 180     Query    thread_id=8    exec_time=0    error_code=0
    SET TIMESTAMP=1423052740/*!*/;
    SET @@session.pseudo_thread_id=8/*!*/;
    SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
    SET @@session.sql_mode=1344274432/*!*/;
    SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
    /*!\C utf8 *//*!*/;
    SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
    SET @@session.lc_time_names=0/*!*/;
    SET @@session.collation_database=DEFAULT/*!*/;
    BEGIN
    /*!*/;
    # at 180
    #150204 20:25:40 server id 1  end_log_pos 369     Query    thread_id=8    exec_time=0    error_code=0
    use bookstore/*!*/;
    SET TIMESTAMP=1423052740/*!*/;
    INSERT INTO `bookstore`.`authors` (`author_id`, `author_last`, `author_first`, `country`) VALUES (4, 'Li', 'Si', 'China')
    /*!*/;
    # at 369
    #150204 20:25:40 server id 1  end_log_pos 557     Query    thread_id=8    exec_time=0    error_code=0
    SET TIMESTAMP=1423052740/*!*/;
    INSERT INTO `bookstore`.`authors` (`author_id`, `author_last`, `author_first`, `country`) VALUES (5, 'Wang', 'Wu', 'US')
    /*!*/;
    # at 557
    #150204 20:25:40 server id 1  end_log_pos 584     Xid = 391
    COMMIT/*!*/;
    # at 584
    #150204 20:45:31 server id 1  end_log_pos 657     Query    thread_id=8    exec_time=0    error_code=0
    SET TIMESTAMP=1423053931/*!*/;
    BEGIN
    /*!*/;
    # at 657
    #150204 20:45:31 server id 1  end_log_pos 780     Query    thread_id=8    exec_time=0    error_code=0
    SET TIMESTAMP=1423053931/*!*/;
    DELETE FROM `bookstore`.`authors` WHERE `author_id`='4'
    /*!*/;
    # at 780
    #150204 20:45:31 server id 1  end_log_pos 903     Query    thread_id=8    exec_time=0    error_code=0
    SET TIMESTAMP=1423053931/*!*/;
    DELETE FROM `bookstore`.`authors` WHERE `author_id`='5'
    /*!*/;
    # at 903
    #150204 20:45:31 server id 1  end_log_pos 930     Xid = 407
    COMMIT/*!*/;
    DELIMITER ;
    # End of log file
    ROLLBACK /* added by mysqlbinlog */;
    /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
    

    6.开始恢复数据,执行以下命令,

    在这里插入图片描述

    之所以要有一个–stop-pos=584参数,是因为从584开始,就在删除记录了,所以在584就应该停止。执行命令以后,再次打开authors表,可以看见第4、5条数据被恢复了!

    在这里插入图片描述

    转载自:博客园

    展开全文
  • MySQL二进制日志 binlog 可以说是 MySQL 最重要的日志,它记录了所有的 DDL 和 DML 语句(除了数据查询语句Select、Show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL二进制日志是事务安全型的。...

    二进制日志简介

    二进制日志: 该日志文件会以二进制形式记录数据库的各种操作,但是不记录查询语句。

    MySQL 的二进制日志 binlog 可以说是 MySQL 最重要的日志,它记录了所有的 DDL 和 DML 语句(除了数据查询语句Select、Show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。Binlog 的主要目的是复制和恢复。

    MySQL的二进制日志(Binary Log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句。二进制日志(Binary Log)中记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间、执行时长、操作数据等其它额外信息,但是它不记录SELECT、SHOW等那些不修改数据的SQL语句。二进制日志(Binary Log)主要用于数据库恢复和主从复制,以及审计(Audit)操作。

    环境准备

    准备一台Centos7服务器
    系统: Centos7.3
    内存:1G
    cpu: 2核
    IP地址:10.0.0.42
    # 安装数据库服务
    yum -y install mariadb mariadb-server
    # 启动数据库
    systemctl start mariadb
    # 编辑修改数据库配置文件
    vim /etc/my.cnf
    

    在这里插入图片描述

    然后重启mysqld服务

    systemctl restart mariadb
    

    查看数据库服务状态

    在这里插入图片描述

    查看二进制日志是否开启

    # 登陆至数据库
    mysql
    show variables like '%log_bin%';
    

    在这里插入图片描述

    查看二进制日志文件名

    show binary logs;
    

    在这里插入图片描述

    查看正在使用哪一个日志

    show master status \G;
    
    show master status ;
    

    在这里插入图片描述

    查看二进制文件内容

    show binlog events in 'mysql-bin.000003';
    

    在这里插入图片描述

    查看mysql数据库存储引擎

    show variables like '%storage_engine%';
    

    在这里插入图片描述

    查看数据库目录

    show variables like '%dir%';
    

    在这里插入图片描述

    显示指定的二进制日志文件(例如:mysqld.000003)的内容

    mysqlbinlog mysql-bin.000004
    

    在这里插入图片描述

    # 创建两个库
    create database wg charset=utf8;
    create database szm charset=utf8;
    use szm;
    
    # 创建表
    create table szm(id int unsigned auto_increment primary key not null, name varchar(30) not null );
    # 插入数据
    insert szm values(0,22);
    # 查询表中数据
    select * from szm;
    

    在这里插入图片描述

    # 进入到第二个库里面
     use wg;
    # 创建表
     create table xxo(id int unsigned auto_increment primary key not null, name varchar(30) not null );
    # 插入数据
     insert xxo values(0,111);
    

    在这里插入图片描述

    # 模拟数据库被误删
    drop database wg;
    
    drop database szm;
    

    在这里插入图片描述

    使用二进制日志还原数据

    1、通过位置还原

    //从规定的起始位置还原到现在
    //从最开始还原到规定的结束位置
     mysqlbinlog --start-position=555 --stop-position=1566 /var/lib/mysql/mysql-bin.000004 | mysql -uroot
    

    在这里插入图片描述

    2、通过时间还原

    //从规定的起始时间还原到规定的结束时间
    //从最开始还原到规定的结束时间
    mysqlbinlog --start-datetime='2019-12-27 8:54:43' --stop-datetime='2019-12-27   9:40:29 ' /var/lib/mysql/mysql-bin.000004| mysql -uroot 
    

    在这里插入图片描述

    展开全文
  • 本篇文章主要介绍了详解如何通过Mysql二进制日志恢复数据库数据,具有一定的参考价值,有兴趣的可以了解一下。
  • MySQL的一些日志同步,数据的恢复有时...查看MySQL是否开启了二进制日志: log_bin 为ON表示开启,为OFF表示未开启 log_bin_basename 表示二进制的文件保存路径 mysql> show variables like 'log_bin%'; +---...
  • MySQL二进制日志查看工具

    热门讨论 2014-01-19 01:11:37
    MySQL二进制日志查看工具 二进制日志查询
  • mysql二进制日志

    2017-09-22 11:17:38
    1[mysqld]2log-bin=mysql-bin #二进制日志的文件名3binlog_format=mixed #日志记录格式日志记录格式有STATEMENT、ROW、MIXED(默认)读取二进制日志
  • 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是,不包括查询! 二进制日志有哪些功能: 二进制日志有着数据复制和数据恢复的功能,可以将一些误删除的数据恢复 注意: 开启...
  • mysql二进制日志

    2017-01-10 00:01:18
    mysql二进制日志 binlog工具 binlog二进制日志的格式STATEMENT binlog二进制日志的格式ROW建议的方式 binlog二进制日志的格式MIXED binlog二进制日志记录方式的选择 mysql二进制日志 Mysql二进制日志记录了所有对...
  • 那么我们怎么获取查看mysql binlog(二进制日志)? 下面给大家介绍获取当前二进制日志列表的命令方法。 从mysql执行以下show binary logs命令,该命令将显示系统中的所有二进制日志mysql> SHOW BINARY
  •  mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句。如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作,再和数据库备份配合...
  • CentOS MySQL 配置二进制日志1.开启服务并登陆MYSQL[ root@bogon] # service mysql start[ root@bogon] #{path}/bin/mysql -uroot -p2.查看当前是否已开启二进制文件mysql -> show variables like 'log_%';...
  • windows下查看二进制文件 这样的日志文件除了创建表和删除表的sql外,操作数据库的语句都加密了,要想看到具体的sql,用如下命令: mysqlbinlog --base64-output="decode-rows" -v D:/aaaaaa.000...
  • mysql-二进制日志

    2017-11-18 16:10:00
    mysql---二进制日志 记录了所有对MySQL数据库的修改事件,包括增删改查事件和对表结构的修改事件 二进制日志的开启 #是否启用了日志 mysql> show variables like 'log_bin'; +---------------+-------+ |...
  • MySQL开启二进制日志

    2014-06-26 18:29:55
    MySQL默认只保存log-error日志,如果要查看二进制日志,需要
  • MySQL 5.7二进制日志

    2018-03-20 16:34:00
    二进制日志MySQL服务器用来记录数据修改事件的,比如INSERT、UPDATE、DELETE等会导致数据发生变化的语句,SELECT语句不会被记录在内。MySQL必须先执行完一条语句才能知道它是否修改了数据,因此写入二进制日志文件...
  • MySQL二进制日志

    2017-07-19 15:34:45
    MySQL二进制日志(binary log)是一个二进制文件,主要用于记录修改数据库或有可能引起数据变更的SQL。二进制日志(binary log)中记录了对MySQL数据库执行更改的所有操作,并且记录了...1.查看二进制日志是否已开启
  • MySQL删除二进制日志

    2015-10-27 20:59:58
    1、查看二进制日志 show binary logs; 2、删除二进制日志 语法 PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr } 删除到某个时间前 PURGE BINARY LOGS BEFORE '2008-04-02 22:46...
  • 本节和下一节中的许多示例都使用mysql客户端来处理mysqlbinlog生成的二进制日志输出。如果您的二进制日志包含\0(空)字符,则除非使用该选项调用它,否则mysql无法解析该输出--binary-mode。 时间点恢复的信息源...
  • 第一排为开启二进制日志,/data/mysqlmysql-bin为二制日志名,以后每生成一个日志名格式会为mysql-bin.000001,mysql-bin.000002,mysql-bin.000003依次类推 第二排为二进制日志保留的天数,超过七天的将被删除 转载于...
  • mysql使用二进制日志恢复数据

    千次阅读 2016-05-19 15:04:52
    使用二进制日志恢复mysql数据,恢复到某一个pos,或者恢复到某一个时间点,或者恢复到某一个二进制文件。本文说明了根据二进制恢复数据的详细操作步骤。
  •  mysql二进制日志文件用来记录所有用户对数据库操作,即记录用户对数据库操作的sql语句。如果有此文件,当数据库发生意外时,可以通过此文件查看到用户在此文件记录的时间段内用户所做的操作,再和数据库备份配合...
  • MySql二进制日志,重做日志笔记,UndoLog 标签: 二进制日志重做日志undo logbin log 2016-01-07 14:12 384人阅读 评论(0) 收藏 举报  分类: mysql(8)  版权声明:本文为博主...
  • 文章目录一、MySQL二进制日志1.1 MySQL二进制日志1.2 二进制日志状态查看1.3 二进制日志开启1.4 二进制日志切换1.5 二进制日志删除 一、MySQL二进制日志 1.1 MySQL二进制日志 MySQL的二进制日志(binary log)是一个...
  • 什么是二进制日志 二进制日志就是记录着mysql数据库...查看二进制日志是否开启 mysql> show variables like 'log_bin%'; +---------------------------------+-------+ | Variable_name | Value | +---------...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,073
精华内容 36,429
关键字:

mysql查看二进制日志

mysql 订阅