1. 首先需要将mysql的binlog日志打开。默认是关闭的。

参考网址:Windows下Mysql5.7开启binlog步骤及注意事项(https://www.cnblogs.com/wangwust/p/6433453.html)

参考网址:https://blog.csdn.net/zjerryj/article/details/77152226

参考网址:mysql row日志格式下 查看binlog sql语句

参考网址:GTID binlog解析后导入无效

使用mysql Command Line Clinet。

查看是否已开启binlog日志输出。

--》 show binary logs;      ERROR 1381 (HY000): You are not using binary logging (表示未开启)

            ※注意: my.ini 存放在 C:\ProgramData\MySQL\MySQL Server 5.7 而非 Program文件目录下,注意ProgramData文件夹默认是隐藏不显示。

             Windows下MySQL的配置文件是my.ini 在主目录下

             Linux下是/etc/my.conf

用管理员身份打开my.ini,添加binlog输出

# binlog node
log_bin = mysql-bin
binlog_format = ROWserver_id=1

注意有可能server_id已经存在,这个ID要唯一,不能和别的slave_id重复。

#修改UTF8

default-character-set=UTF8

character-set-server=UTF8

※   注意不是UTF-8

由于binlog日志不会自动清除,因此需要手动设置过期删除,防止文件过大占用内存。

expire-logs-days=30

重启mysql57服务。

mysql服务添加到path中则直接在控制台:

--》C:\WINDOWS\system32>net stop mysql57

--》C:\WINDOWS\system32>net start mysql57

此时在mysql Command Line Client:

--> show binary logs;   可查看binlog日志

-->  show variables like '%log_bin%';   这个亦可说明log是否有开启

-->   set global expire_logs_days=30;     //防止binlog积压,占用内存,设置失效30天

-->  show variables like '%expire_logs_days%';  //查看

生成的binlog日志默认就在log_bin 给的文件位置下,如果没有路径就是my.ini对应的data文件夹下。

log_bin = D:\log\mysql\mysql-bin

  ※注意:对应的文件夹要存在,否则无法启动。

mysql-bin.000001
mysql-bin.index

查看:

--》show binlog events;     //获取第一个binlog的日志

--》 show binlog events in 'mysql-bin.000002';      //获取指定的binlog日志

--》 show master status\G;                                  //查看当前正在写入的binlog日志

--》 show binlog events from 219;                         //根据pos获取日志

在cmd下使用mysqlbinlog转化binlog二进制日志还原为sql:

-》mysqlbinlog -d [schemal] --start-datetime="2018-10-15 8:10:01" --stop-datetime="2018-10-15 18:10:00" d:\log\mysql\mysql-bin.000001 > d:\log\insert.sql

这样就可以还原之前被处理掉的数据。

如果查看到的sql文件中并不能直接看到insert或update,delete语句,而有base64加码的数据,则需要在导出sql时做转化。

-》 mysqlbinlog --base64-output=decode-rows -v -d [schemal] --start-datetime="2018-10-15 8:10:01" --stop-datetime="2018-10-15 18:10:00" d:\log\mysql\mysql-bin.000002 > d:\log\insert2.sql

也可以使用position代替date。

--start-position

--stop-position

可以直接执行binlog进行还原:

--》mysqlbinlog -d [schema] --start-datetime="2018-10-15 8:10:01" --stop-datetime="2018-10-15 18:10:00" d:\log\mysql\mysql-bin.000004 |mysql -u root -p

我们可以直接将还原的sql直接执行。

--》mysql source  D:\log\insert4.sql

※  执行后发现数据并未同步到数据库中,提示信息正常。

     打开 insert4.sql发现里面有好多SET @@SESSION.GTID_NEXT= [序列码]

     此内容为事务控制用的信息,但这些信息已经被用过了,被记入到Executed_Gtid_Set中,因此执行被跳过。

    在导出sql的语句中添加  --skip-gtids=true

转载于:https://www.cnblogs.com/DennyZhao/p/9789809.html

binlog开启和查看相关推荐

  1. mysql的binlog开启方式,查看方式.三种binlog模式介绍.以及使用binlog恢复数据.删除binlog

    判断MySQL是否已经开启binlog SHOW VARIABLES LIKE 'log_bin'; 查看MySQL的binlog模式 show global variables like " ...

  2. MySQL二进制日志(binlog)开启、查看、截取

    mysql二进制日志记录了数据库所有变更类的操作日志主要有2个作用: MySQL主从配置 数据恢复 参数介绍 server_id=3 log_bin=/data/binlog/mysql-bin: / ...

  3. mysql sql_log_bin怎么看_MySQL数据库之开启和查看mysql的bin-log日志

    本文主要向大家介绍了MySQL数据库之开启和查看mysql的bin-log日志 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. [root@VM_0_7_centos data] ...

  4. phpstudy mysql恢复数据_MySQL_详解MySQL误操作后怎样进行数据恢复,一、开启binlog。 首先查看binlo - phpStudy...

    详解MySQL误操作后怎样进行数据恢复 一.开启binlog. 首先查看binlog是否开启 mysql> show variables like "log_bin"; +- ...

  5. binlog是什么?能做什么?Window下怎么开启binlog?怎么查看binlog日志?利用binlog日志恢复数据

    binlog是什么?能做什么?Window下怎么开启binlog?怎么查看binlog日志?利用binlog日志恢复数据 windows如何开启Binlog日志 文档来源 ##1.什么是Binlog日 ...

  6. mysql修改binlog 位置_查看mysql 的binlog日志存放的位置(转)

    首先查看配置文件中是否启用Binlog日志 [Linux ~]#vim /etc/my.cnf my.cnf内容: log-bin = mysqlbin #默认配置 一般放在/var/lib/mysq ...

  7. mysql二进制日志开启方法_mysql中如何开启binlog?开启二进制日志文件?binary log?

    需求描述: 开启mysql的binlog即binary log日志功能,在此记录下. 版本描述: mysql版本:5.7.21-log 操作过程: 1.修改my.cnf并且将以下参数加入其中,重启my ...

  8. mysql数据库log-bin介绍,开启,查看

    一.binlog日志介绍 1)什么是binlog binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句.语句以"事件"的 ...

  9. MySQL的binlog数据如何查看

    binlog介绍 binlog,即二进制日志,它记录了数据库上的所有改变. 改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕. binlog格式 ...

最新文章

  1. Debussy的安装
  2. 初一七年级计算机信息全册教案,初一信息技术教案全一册
  3. Qt元对象QMetaObject的indexOfSlot等函数获取类方法注意问题
  4. opencv摄像头速度慢_c++ - 从OpenCV 3切换到OpenCV 4会导致网络摄像头以最高5帧的速度记录,而不是通常的30帧。 - SO中文参考 - www.soinside.com...
  5. Jni C 与 Java 互调
  6. git学习(五)分支操作和解决冲突
  7. 【iOS】iOS8 与以前版本比较,添加的新特性
  8. Kubernetes基础:Pod中的Pause容器
  9. android studio sdk samples,qcloud-sdk-android-samples
  10. Win10 安装Docker 杂记
  11. [Other]规范的邮件签名格式及HTML代码
  12. SAP ALV报表开发实战案例(三)
  13. MySQL数据库————MVCC
  14. mysql配置jdbc
  15. 推荐一个界面库:RingSDK
  16. 如何找到联盟营销人员:招募合适会员的10个方法
  17. 2014春招CVTE面试经历
  18. CentOS7配置nexus开机自启动
  19. 【Python】近似熵,样本熵,模糊熵计算高效版
  20. 学习笔记(07):OmniPlan项目管理就该这样学-使用时间线记录分配情况

热门文章

  1. Talk is cheap, show me the code - 用 github 数据辅助你完善简历
  2. IMI装系统装到一半出错?
  3. 悟道:一位IT高管20年的职场心经
  4. 运维需要掌握的基础知识
  5. DIV CSS完美兼容IE6/IE7/FF的通用方法
  6. 90. Subsets II
  7. vue生命周期及双向绑定
  8. Windows Server 2016第三个技术预览版新技术
  9. GnuPG如何安全地分发私钥(1)GnuPG的用法
  10. 用secureCRT操作ubuntu终端