Docker Mysql容器-开启binlog日志

使用Docker容器也有一段时间了,主要是项目中有用到,现有需求开启用Docker容器启动的mysql数据库的binlog,以作日志记录 和数据恢复,我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道,binlog有两大作用,一个是使用binlog恢复数据,另一个就是用来做主从复制。本篇笔记就是来记录如何使用开启binlog日志和做数据恢复。当然了,使用binlog日志所恢复的数据只能是部分数据,并不能够使用binlog日志来做数据库的备份,如果想要做数据库备份,依然要使用我们传统的备份方法,而binlog可以作为增量备份。

供笔记和学习,以下就是开启binlog日志的步骤过程:

2.下载mysql 数据库镜像

3.在启动容器之前先要创建好要挂载出来的目录文件

一个myql的配置目录 在容器:/etc/mysql ,这里可以从容器中拷贝过来

第二个mysql数据目录 /var/lib/mysql 保存了数据库、表等数据信息

4.启动Mysql5.7镜像一个实例

5.启动好后,用mysql客户端工具边接,在未设置之前,先查看一下,mysql5.7是否默认开启,查看脚本如下:

结果如下:

看得出mysql5.7默认是未开启的,下面就开始设置

6.找到刚挂载到本地的mysql设置目录 /etc/mysql

在以上修改的文件下方,添加上红框中的两条

这一个参数的作用是mysql会根据这个配置自动设置log_bin为on状态,自动设置log_bin_index文件为你指定的文件名后跟.index

第二个参数 ,用的如果是5.7及以上版本的话,重启mysql服务会报错,这个时候我们必须还要指定这样一个参数,随机指定一个不能和其他集群中机器重名的字符串,如果只有一台机器,那就可以随便指定了

7.设置完后重启mysql容器

再次查询就会看到已开启mysql的binlog日志,如下图:

这个时候,在数据库中创建一个数据库、表,插入一些数据,就会在/var/lib/mysql容器中看到以下,或者是看挂载出来对应的目录上,

在数据库中查询日志,如下

就可以通过以上数据进行数据恢复

也可以直接操作容器如下:

(本文转载自咕泡社区:专业IT技术社区,互联网人技术问答、技术文章、资料经验分享、学习交流高端论坛社区,内容涵盖Java、大数据云计算、软件测试、人工智能、web前端等热门技术领域。)

升职加薪 就来咕泡学院

戳我涨薪50%哟

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191103A0EUA600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券