Cause:
Packaging issue, wrongly expanded macro containing patch to the MySQL server log file in the log-rotate file.
Consequence:
The file-path to the default location of the MySQL server log file is set wrong.
The log-rotation of the MySQL server does not wok out-of-the-box.
Fix:
Use a correct (different) source file from which the log-rotate configuration file is generated.
Result:
The log-rotate file now contains the correct file-path to the default location of the MySQL server log file.
! HOWEVER !
The whole configuration file is now commented out. That is a default state of the log-rotate configuration file intended by upstream
That means (both before and after this fix) the user action is required in order for the log-rotate to be working.
Description of problem:
Default target of logrotate script does not match log location in default configuration. This means logrotate does not work out of the box.
Version-Release number of selected component (if applicable):
mysql-server-8.0.28-1.el9.x86_64
How reproducible:
always
Steps to Reproduce:
1. cat /etc/logrotate.d/mysqld
2. cat /etc/my.cnf.d/mysql-server.cnf
3.
Actual results:
<snip logrotate>
/var/lib/mysql/mysqld.log {
</snip>
<snip mysql-server.cnf>
log-error=/var/log/mysql/mysqld.log
</snip>
Expected results:
Files match.
Additional info:
PR for Fedora:
https://src.fedoraproject.org/rpms/community-mysql/pull-request/10
However, I'm not sure the fix shouldn't be about using a different file instead -- I see we have two:
* mysql-8.0.28/support-files/mysql-log-rotate.in (this one is used)
* mysql-8.0.28/packaging/rpm-common/mysql.logrotate.in (this one looks like relevant for the RPM)
Description of problem: Default target of logrotate script does not match log location in default configuration. This means logrotate does not work out of the box. Version-Release number of selected component (if applicable): mysql-server-8.0.28-1.el9.x86_64 How reproducible: always Steps to Reproduce: 1. cat /etc/logrotate.d/mysqld 2. cat /etc/my.cnf.d/mysql-server.cnf 3. Actual results: <snip logrotate> /var/lib/mysql/mysqld.log { </snip> <snip mysql-server.cnf> log-error=/var/log/mysql/mysqld.log </snip> Expected results: Files match. Additional info: