I'm new to dnf, so this is probably obvious to someone.
I did check versionlock and checked for any exclude lines in any of the /etc/yum.repos.d files. But, when I have any other repos enabled, I cannot find mysql server to install. I can try to install it with all other repos disabled, but then it cannot find all the dependencies.
[root@ip-10-9-10-242 yum.repos.d]# dnf clean all
42 files removed
[root@ip-10-9-10-242 yum.repos.d]# dnf --disablerepo "*" --enablerepo "mysql56-community" list available
Last metadata expiration check: 0:07:40 ago on Tue 30 Jul 2019 12:38:45 UTC.
Available Packages
mysql-community-bench.x86_64 5.6.45-2.el7 mysql56-community
...
mysql-community-server.x86_64 5.6.45-2.el7 mysql56-community
mysql-community-test.x86_64 5.6.45-2.el7 mysql56-community
[root@ip-10-9-10-242 yum.repos.d]# dnf --enablerepo "mysql56-community" search mysql-community-server.x86_64
Last metadata expiration check: 0:07:59 ago on Tue 30 Jul 2019 12:38:48 UTC.
No matches found.
[root@ip-10-9-10-242 yum.repos.d]# dnf search mysql-community
Last metadata expiration check: 0:10:57 ago on Tue 30 Jul 2019 12:38:48 UTC.
============================================================================================== Name Matched: mysql-community ==============================================================================================
mysql-community-bench.x86_64 : MySQL benchmark suite
mysql-community-release.noarch : MySQL repository configuration for yum
mysql-community-release.noarch : MySQL repository configuration for yum
mysql-community-embedded.i686 : MySQL embedded library
mysql-community-embedded.x86_64 : MySQL embedded library
mysql-community-embedded-devel.i686 : Development header files and libraries for MySQL as an embeddable library
mysql-community-embedded-devel.x86_64 : Development header files and libraries for MySQL as an embeddable library
So, you can see some of the stuff in mysql56 repo is found (like bench) but the server isn't. I'd also previously done :
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql56-community
And can see :
[root@ip-10-9-10-242 yum.repos.d]# dnf repolist
Last metadata expiration check: 0:00:04 ago on Tue 30 Jul 2019 13:03:47 UTC.
repo id repo name status
mysql-connectors-community MySQL Connectors Community 118
mysql-tools-community MySQL Tools Community 95
mysql56-community MySQL 5.6 Community Server 169
rhui-client-config-server-8 Red Hat Update Infrastructure 3 Client C 3
rhui-rhel-8-appstream-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - 5,472
rhui-rhel-8-baseos-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - 2,029
For anyone still confused, what can't be found, can't be installed.
[root@ip-10-9-10-242 ~]# dnf install mysql-community-server
Last metadata expiration check: 0:00:12 ago on Thu 01 Aug 2019 09:14:02 UTC.
No match for argument: mysql-community-server
Error: Unable to find a match
OK, so a bit of "-v" action and it says the packages are excluded. BUT I can disable all excludes and it still says they're excluded.
[root@ip-10-9-10-242 dnf]# dnf repoquery --repo mysql56-community --available mysql-community-server-0:5.6.45-2.el7.x86_64
Last metadata expiration check: 0:13:17 ago on Thu 01 Aug 2019 17:12:25 UTC.
mysql-community-server-0:5.6.45-2.el7.x86_64
[root@ip-10-9-10-242 dnf]# dnf --enablerepo=mysql56-community --disableexcludepkgs all --disableexcludes all install mysql-community-bench
Last metadata expiration check: 0:14:46 ago on Thu 01 Aug 2019 17:13:30 UTC.
Error:
Problem: package mysql-community-bench-5.6.45-2.el7.x86_64 requires mysql-community-server(x86-64) >= 5.6.10, but none of the providers can be installed
- cannot install the best candidate for the job
- package mysql-community-server-5.6.15-4.el7.x86_64 is excluded
- package mysql-community-server-5.6.16-1.el7.x86_64 is excluded
.....
- package mysql-community-server-5.6.44-2.el7.x86_64 is excluded
- package mysql-community-server-5.6.45-2.el7.x86_64 is excluded
[root@ip-10-9-10-242 dnf]# dnf --disablerepo "*" --enablerepo=mysql56-community --disableexcludepkgs all --disableexcludes all install mysql-community-bench
Last metadata expiration check: 0:18:12 ago on Thu 01 Aug 2019 17:12:25 UTC.
Error:
Problem: cannot install the best candidate for the job
- nothing provides /usr/bin/perl needed by mysql-community-bench-5.6.45-2.el7.x86_64
- nothing provides perl(Getopt::Long) needed by mysql-community-bench-5.6.45-2.el7.x86_64
- nothing provides perl(Data::Dumper) needed by mysql-community-bench-5.6.45-2.el7.x86_64
- nothing provides perl(POSIX) needed by mysql-community-bench-5.6.45-2.el7.x86_64
- nothing provides perl(Cwd) needed by mysql-community-bench-5.6.45-2.el7.x86_64
- nothing provides perl(DBI) needed by mysql-community-bench-5.6.45-2.el7.x86_64
- nothing provides perl(Benchmark) needed by mysql-community-bench-5.6.45-2.el7.x86_64
- nothing provides perl(sigtrap) needed by mysql-community-bench-5.6.45-2.el7.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
For those who will come here searching for the solution, here's the way to install MySQL community packages on RHEL8: https://dev.mysql.com/doc/mysql-repo-excerpt/5.6/en/linux-installation-yum-repo.html. The official page. And the culprit is default mysql module. Disable it and dnf will find community packages no problem.