Bug #92129 | Plugin keyring_file.so API version too different, crashes mysqld on startup | ||
---|---|---|---|
Submitted: | 22 Aug 2018 15:40 | Modified: | 12 Sep 2018 19:00 |
Reporter: | Gary Anderson | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Installing | Severity: | S2 (Serious) |
Version: | 5.7.22, 5.7.23 | OS: | Red Hat (RHEL 7.5 ) |
Assigned to: | CPU Architecture: | x86 (64-bit) | |
Tags: | keyring_file, keyring_file_data, keyring_file.so |
[22 Aug 2018 15:40]
Gary Anderson
[7 Sep 2018 13:14]
Gary Anderson
We have had various results on different existing MySQL installations. It seems there is one common thread: if the server was previously a MySQL 5.6 server and was upgraded at some point in the past to version 5.7, we see the issue described in the ticket, or similar. Almost all the servers we have tested with the above upgraded condition have the wrong version of plugins for the currently installed version of MySQL 5.7.20. One server did not have any plugins in the filesystem at all; we had not used any of them on that installation though, so this fact was missed. This was surprising because having downloaded and exploded every "mysql-community-server" RPM from 5.7.20 to 5.7.23 they contain plugins in every version, and all have been updated (date, size) on every release. This issue probably points to a problem with the RPM itself not writing files to the plugins directory. This may be an issue with the way the permissions were placed on the 5.6.x version of that directory, or something in the RPM install procedure that is skipping the directory for some reason. However there is no error or notice during installation of the RPM showing this condition, even in the verify step.
[12 Sep 2018 19:00]
Gary Anderson
It seems the problem was our fault. In installing MySQL 5.6 on these systems long ago, we had to create our own SystemD startup script for the mysqld as one was not in the package. This script included a "--plugin-dir=" option in the command line that defined the location of the version 5.6 plugin path. This path changed in version 5.7, and the SystemD startup script we created for 5.6 was not overwritten on upgrade from 5.6 to 5.7. This is probably due to the fact that the RPM for 5.7 was not expecting a startup script to have existed already, and no logic is present in the RPM to overwrite an older one (or create an ".rpmnew" file for the new version). We should have removed the custom startup script before attempting a minor number upgrade. Closing the ticket, as this is resolved.