MySQL 8.0 is now part of RedHat Enterprise 8 and other distros based on it like CentOS and Oracle Linux.. This is a very good thing !
However if for any reason you want to use the latest version of MySQL from the Community Repository, you may encounter some frustration if you are not familiar with the new way the package manager works.
Let’s start by verifying our system:
LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: OracleServer Description: Oracle Linux Server release 8.0 Release: 8.0 Codename: n/a
We can see that we are on Oracle Linux 8.0. So now let’s try to install MySQL Server:
[root@localhost ~]# dnf install mysql-server Last metadata expiration check: 0:08:15 ago on Sat 02 Nov 2019 09:54:07 AM UTC. Dependencies resolved. ============================================================================================ Package Arch Version Repository Size ============================================================================================ Installing: mysql-server x86_64 8.0.17-3.module+el8.0.0+5253+1dce7bb2 ol8_appstream 22 M Installing dependencies: mysql-errmsg x86_64 8.0.17-3.module+el8.0.0+5253+1dce7bb2 ol8_appstream 557 k mysql-common x86_64 8.0.17-3.module+el8.0.0+5253+1dce7bb2 ol8_appstream 143 k protobuf-lite x86_64 3.5.0-7.el8 ol8_appstream 150 k mysql x86_64 8.0.17-3.module+el8.0.0+5253+1dce7bb2 ol8_appstream 11 M mariadb-connector-c-config … Enabling module streams: mysql 8.0 Transaction Summary ============================================================================================ Install 44 Packages Total download size: 48 M Installed size: 257 M
Note that in RedHat and CentOS, the repository is called AppStream
We can see that the package manager wants to install by default MySQL 8.0.17 ! Pretty recent, good !
We can also see that there is a module stream called mysql
that is used. Let’s take a look at it:
[root@localhost ~]# dnf module list mysql Last metadata expiration check: 0:00:53 ago on Sat 02 Nov 2019 10:17:51 AM UTC. Oracle Linux 8 Application Stream (x86_64) Name Stream Profiles Summary mysql 8.0 [d] client, server [d] MySQL Module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
The module is indeed enabled at set to default.
Now we will install our Community Repository from https://dev.mysql.com/downloads/repo/yum/:
[root@localhost ~]# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm Retrieving https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm warning: /var/tmp/rpm-tmp.hxFUWs: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Verifying… ################# [100%] Preparing… ################# [100%] Updating / installing… 1:mysql80-community-release-el8-3 ################# [100%]
But if we try to install MySQL Community Server, the system one from AppStream is always selected. Whatever the package name used: mysql-server
or mysql-community-server
.
We need to disable the mysql
module from the package manager:
[root@localhost ~]# dnf module disable mysql Last metadata expiration check: 0:01:24 ago on Sat 02 Nov 2019 10:17:51 AM UTC. Dependencies resolved. =========================================================================================== Package Arch Version Repository Size =========================================================================================== Disabling module streams: mysql Transaction Summary =========================================================================================== Is this ok [y/N]: y Complete!
And now it’s possible to install the lastest MySQL (8.0.18 at this moment):
[root@localhost ~]# dnf install mysql-server Last metadata expiration check: 0:01:42 ago on Sat 02 Nov 2019 10:17:51 AM UTC. Dependencies resolved. =========================================================================================== Package Arch Version Repository Size =========================================================================================== Installing: mysql-community-server x86_64 8.0.18-1.el8 mysql80-community 52 M Installing dependencies: mysql-community-client x86_64 8.0.18-1.el8 mysql80-community 12 M mysql-community-common x86_64 8.0.18-1.el8 mysql80-community 601 k mysql-community-libs x86_64 8.0.18-1.el8 mysql80-community 1.4 M perl-constant noarch 1.33-396.el8 ol8_baseos_latest 25 k … perl-parent noarch 1:0.237-1.el8 ol8_baseos_latest 20 k Transaction Summary =========================================================================================== Install 36 Packages Total download size: 77 M Installed size: 394 M Is this ok [y/N]:
Note that you can now also use
mysql-community-server
as package name.
We are very happy to see that MySQL 8.0 is now available with a very updated version by default in these major distribution. And now you also know how to enable the MySQL repository if you want to use it too.