MySQL Shell 8.0 is part of MySQL 8.0, but shipped separately. Documentation: https://dev.mysql.com/doc/mysql-shell/8.0/en/ The latest is 8.0.21: https://dev.mysql.com/doc/relnotes/mysql-shell/8.0/en/ Changes in MySQL Shell 8.0.22 (Not yet released) Changes in MySQL Shell 8.0.21 (2020-07-13, General Availability) Download: https://dev.mysql.com/downloads/shell/ The MySQL shell should be packaged separately from dev-db/mysql, especially since one of the most nifty features of the shell is that it allows to have an automated check of the data and mysql server settings before any major or minor upgrade. See: MySQL Shell 8.0 / MySQL Shell Utilities / Upgrade Checker Utility https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-utilities-upgrade.html For example, on my live server, I am still using MySQL 5.7, but I use the Shell version 8.0.20 to see all the changes ahead of upgrading to MySQL 8.0.20, the current stable gentoo release. I have been able to see all the repairs (utf8mb3 to utf8mb4 conversion, etc...) to be done on my data, and other server settings that may affect my operations. This way, I will be able to upgrade the MySQL server with great peace of mind. Thus, it would be very nice if the mysql shell were packaged separately and regularly updated so that we have an opportunity to prepare ahead of any database server upgrade.
This doc (as well as whole repo) might be useful: https://github.com/mysql/mysql-shell/blob/master/INSTALL
Created attachment 685359 [details] Draft ebuild for mysql-shell-8.0.23 This is a rough draft ebuild for mysql-shell-8.0.23, based on https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=mysql-shell and https://github.com/mysql/mysql-shell/blob/master/INSTALL. It doesn't have JavaScript support because that relies on v8 being built with a patch to have both regular library and shared library, and Gentoo's nodejs doesn't use that patch by default. It also has the Python detection in Cmake set to use Python 3.8, otherwise it finds and uses the newest Python 3 installed on the system regardless of PYTHON_TARGETS. The cmake Python detection logic which seems to be custom rather than Cmake default probably needs a patch so it behaves like https://bugs.gentoo.org/405181. Other improvements to this ebuild would be adding / removing the proper use flag support.