【杂记】MySQL 从其标准 Docker 镜像中移除了 mysqlbinlog 命令
该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/post/2023/10/08/misclog-mysqlbinlog-was-removed-in-standard-docker-image/
此前我们用的 MySQL 是 5.7.28
版本,由 AWS RDS 托管。后面 AWS RDS 定期维护时自动更新了 MySQL 版本,升级到了 5.7.42
。
我们的自动备份脚本会通过 MySQL 的版本号确定使用的 Docker 镜像,然后从这个镜像启动容器运行 mysqlbinlog
命令,将 binlog 备份下来。
而从不知道什么时候开始,MySQL 官方的标准版 Docker 镜像(如 mysql:5.7.38
这样的镜像)中移除了 mysqlbinlog
命令,导致我们的备份脚本无法正常工作……
这个问题在 MySQL 官方的 Docker 镜像的 Github 仓库中有人提了 issue,答复是 mysql:5.7.38
这类镜像是 minimal 镜像,仅包含服务端所必须的文件,而 mysqlbinlog
是客户端工具,所以不包含在 minimal 镜像中……
因此,如果需要使用 mysqlbinlog
命令,需要使用 mysql:5.7.38-debian
这样的镜像,而不是 mysql:5.7.38
这样的 minimal 镜像。
comments powered by Disqus