服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - docker开启mysql的binlog日志解决数据卷问题

docker开启mysql的binlog日志解决数据卷问题

2022-08-07 11:03小码农叔叔 服务器知识

这篇文章主要为大家介绍了关于docker容器的数据表监控,利用docker开启mysql的binlog日志来解决数据卷的问题,有需要的朋友可以借鉴参考下,希望能够有所帮助

前言

在开发中,需要通过监听mysql的binlog日志文件做到对数据表的监控,由于mysql是部署在docker容器中,还需要解决数据卷的问题

1、通过数据卷的方式开启一个mysql镜像

?
1
docker run -p 3307:3306 --name mymysql -v /usr/docker/mysql/data:/var/lib/mysql -e mysql_root_password=123456  -d mysql:5.7.25

备注:需提前在宿主机目录下创建一个文件用于保存mysql的数据集,我这里创建的目录是 /usr/docker/mysql/data

而/var/lib/mysql是mysql镜像开启后的固定目录,一般是不需要我们手动去干扰的,保持默认的就可以

2、连接mysql并进行测试

使用客户端连接工具连接上mysql,尝试着观察一下mysql_binlog的开启情况

docker开启mysql的binlog日志解决数据卷问题

可以看到此时并没有开启日志功能,同时我们也可以去到宿主机的挂载目录下观察一下,

docker开启mysql的binlog日志解决数据卷问题

3、开启bin_log

依次执行下面的命令

?
1
docker exec mymysql bash -c "echo 'log-bin=/var/lib/mysql/mysql-bin' >> /etc/mysql/mysql.conf.d/mysqld.cnf"
?
1
docker exec mymysql bash -c "echo 'server-id=123454' >> /etc/mysql/mysql.conf.d/mysqld.cnf"

4、重启mysql镜像

?
1
docker restart mymysql

5、创建一个数据库并在里面创建一个表加一条数据

docker开启mysql的binlog日志解决数据卷问题

这时我们再观察一下bin_log的变化,说明这时候bin_log的日志已经生成了

docker开启mysql的binlog日志解决数据卷问题

也可以进入到宿主机目录下进行观察,这时在宿主机下已经产生了日志文件

docker开启mysql的binlog日志解决数据卷问题

结语

本篇的初衷是为了快速搭建mysql并能想办法检测到bin_log的日志达到后续使用bin_log检测表数据变化的目的,因此使用docker安装贺启动mysql是比较方便的,但由于是初次尝试,在网上参考相关的资料时发现基大多数博客的内容基本上没有经过验证,或者说很难实施出效果,最终总结出上面可执行的流程,提供后续的参考和使用!友情提示,网上的资料请慎重参考!最后感谢观看!希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/zhangcongyi420/article/details/103105875

延伸 · 阅读

精彩推荐