DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
分享到: 分享到QQ  分享到Twitter

作者: kideny    访问次数: 3402 创建时间: 2023-01-02 00:19:21 更新时间: 2024-10-15 02:29:38

最近在本地开发环境中遇到一个MySQL崩溃的问题,数据库表空间的ID丢失了,ibd文件不知道怎么恢复。就想着用Mysqlbinlog工具从binlog里恢复数据试试,结果我登入docker的mysql镜像,找了他妈的半天,找不到mysqlbinlog工具。

 

死妈的Oracle从8.0.30开始移除了Mysqlbinlog工具和其他一系列工具

 

在网上一堆猛地搜索,英文版查到资料,马勒戈壁原来Laradock里使用的是来自Oracle官方出品的MySQL镜像文件。

从MySQL8.0.30开始,死妈的Oracle移除了一堆MySQL自带的工具。包括Mysqlbinlog,Mysqlcheck等。

我仔细瞅了一眼,mysql目录下只剩下mysqldump和mysqlpump,mysqladmin这三个玩意了,其他工具全部移除了。

Oracle,操你妈逼的,死妈玩意。

 

解决方法,把Docker镜像文件里的Mysql镜像源,改成Debian的

 

Debian源里的Mysql貌似还包括有Mysqlbinlog等一系列工具,可以改源为Debian源。

如果不想改也不会改的话,可以使用8.0.23等老版本的MySQL。

 

修改MySQL镜像为Debian源的方法

 

查看MySQL官方的Docker首页,https://hub.docker.com/_/mysql,里面有各种写法。

比如说最新的debian源写法是:8.0.31-debian。

把你镜像的env文件里的,mysql的版本号改成这个即可。

改完用docker compose up -d mysql直接编译加启动即可。

有些脚本,需要先删除mysql的镜像和容器,再编译脚本。

 

MySQL工具在镜像的位置

 

登录镜像后,cd /usr/bin

就可以看到熟悉的mysql工具了。

 

总结

 

千言万语汇聚成一句话,Oracle草泥马。

年度最有价值文章

季度最有价值文章

月度最有价值文章

投票统计

是否原创: 0 %

0 % Complete (success)

是否有价值: 0 %

0% Complete

是否有素质: 0 %

0% Complete (warning)

是否合法: 0 %

0% Complete

   群组工具

   外部链接