mysql icon indicating copy to clipboard operation
mysql copied to clipboard

mysqlcheck missing in -oracle images

Open jhit opened this issue 3 years ago • 14 comments

Hi.

I noticed the mysqlcheck binary is missing in 8.0.29-oracle and 8.0.28-oracle while it is present in the debian flavour. Probably this is valid for older versions too, but I did not verify this.

What is the reason for this?

jhit avatar May 06 '22 22:05 jhit

@ltangvald any ideas? Is this intentional? :see_no_evil:

tianon avatar May 06 '22 23:05 tianon

I would say it's intentional, but possibly not fully thought through (the basic idea is to remove binaries that aren't needed for the docker images). I'll get a review done and see if maybe we should put some of these back.

ltangvald avatar Aug 16 '22 09:08 ltangvald

For mysqlcheck it's partially a case of it being significantly less useful for innodb than it was for myisam, and that the checking functionality it still supports can be done through the regular client. It's a similar case for mysqlimport, which is just a wrapper around the LOAD DATA syntax. The binlog utility we might want to include, though. As a side note, the list of files that are excluded from the minimal server package can be seen at https://github.com/mysql/mysql-server/blob/8.0/packaging/rpm-docker/mysql.spec.in#L231

ltangvald avatar Aug 16 '22 10:08 ltangvald

It's pobably fine without Mysqlcheck, but why mysqlbinlog is also removed? That's something very important for data recovery.

DanielYWoo avatar Oct 13 '22 06:10 DanielYWoo

@ltangvald I can follow your argumentation. On the other hand, having 2 container image types (Debian/oracle) with different toolsets does not make any sense to me. people use those tools in their scripts and workflows for years now and you break this just to save a couple of bytes in the container? The issues that get filed on GitHub show that people use these tools, so why not just include them? Let the people decide if they find them useful or not.

jhit avatar Dec 02 '22 10:12 jhit

A year later and those tools still not in oracle image, on top of that there is no debian image for mysql 8.1, so there is nothing to revert to when you need 8.1 and tools.

chtomek avatar Oct 08 '23 13:10 chtomek

@chtomek the tag mysql:8.1 is debian based

LaurentGoderre avatar Oct 10 '23 12:10 LaurentGoderre

@chtomek the tag mysql:8.1 is debian based

@LaurentGoderre are you sure? image

chtomek avatar Oct 10 '23 12:10 chtomek

Default OS is always Oracle. If the tag does not contain the OS flag, it is Oracle.

jhit avatar Oct 10 '23 14:10 jhit

Oh yeah, my bad

LaurentGoderre avatar Oct 10 '23 14:10 LaurentGoderre

I don't get it, what's the point of shaving off 10MB on those tools when everyone has at least a coule of GB worth images in their repo.

chtomek avatar Oct 10 '23 15:10 chtomek

all of these tools are in the mysql-community-client package. docker image has only server package installed, but for client: common, libs and client-plugins package has to be installed and there are conflicts with the server minimal package. I am happy with the current image, but the name is somewhat confusing, maybe we can rename it to -mimimal (and add another fat image including client).

qeepcologne avatar Oct 12 '23 13:10 qeepcologne

@qeepcologne thank you for that explenation, now all make sense. I'm sure many would appreciat that "fat" image. In the mean time bitnami/mysql:8.1 if someone needs tools, although 50MB bigger (if size is a concern)

chtomek avatar Oct 12 '23 13:10 chtomek