一、开启mysql-binlog日志
  
  在mysql配置文件my.cnf加上如下配置
  
  #其中mysql-bin就是日志文件的名称了,日志文件的名称和路径都可以自定义,如果不配置路径和名称,那么该文件会出现在mysql/var目录下,名称为mysql-bin.xxxxxx。
  
  用mysql> show variables like 'log_%'; 查看日志文件的状态,结果显示log_bin  ON ,就表示上面log-bin的日志开启了。
  
  #[服务器集群的时候--> 这些配置完毕之后对于5.7以下版本应该是可以了,但是我们这个时候用的如果是5.7及以上版本的话,重启mysql服务会报错。这个时候我们必须还要指定一个参数
  
  重启mysql: service mysqld restart ,最终日志一般保存在
  
  二、使用mysqlbinlog来恢复binlog日志中的数据库数据
  
  后回车, 输入数据库的root密码
  
  命令用法:
  
  常见的参数:
  
  1. 以日期进行筛选(推荐使用,因为文件比较大,直接用日期容易定位)
  
  a. 下面操作意思: 把binlog日志中的语句整理成bak001.sql语句
  
  参照下面,直接复制上去]
  
  b. 参数--base64-output=decode-rows -v,直接mysqlbinlog出来的文件执行sql部分的sql显示为base64编码格式。
  
  如果没有全局变量定义,直接用mysqlbinlog会报没有这个命令。 那么就要用绝对路径。比如
  
  最后语句变成:
  
  生成的sql会在当前目录下。
  
  d.上面C中语句生成sql执行就可以了。如果空间有限(阿里云碰到这种情况),可以不生成sql文件,直接通过binlog日志执行语句也是一样的。具体操作如下:
  
  备注: sanzang表示数据库,有2处。  123456表示数据库密码
  
  2. 以position事件进行筛选(以at当前定位点值表示)
  
  注意:[系统日志情况,路径:/var/log/messages ; 测试端口号开启:netstat -anpt | grep 端口号 ]

写评论

猜你喜欢

热门文章

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权, 不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 995315907@qq.com举报,一经 查实,本站将立刻删除。