| Bug #103404 | --log-bin=<name>, where <name> has two periods, creates a single binlog file | ||
|---|---|---|---|
| Submitted: | 21 Apr 2021 12:58 | Modified: | 21 Apr 2021 13:24 |
| Reporter: | Kenn Takara | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
| Version: | 5.7.28,8.0.22, 5.7.34, 8.0.24 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[21 Apr 2021 12:59]
Kenn Takara
MTR test case
Attachment: percona_binlog_name.test (application/octet-stream, text), 855 bytes.
[21 Apr 2021 12:59]
Kenn Takara
MTR test case config file
Attachment: percona_binlog_name.cnf (application/octet-stream, text), 283 bytes.
[21 Apr 2021 13:24]
MySQL Verification Team
Hello Kenn, Thank you for the report and test case. regards, Umesh

Description: Specifying log-bin=<name> and <name> has two periods ('.') in the filename portion will only create a single unnumbered binlog file. log-bin=mysql.file.binlog Result - Only a single binlog file "mysql.file" will be created - However, this file will show up multiple times in the binlog index Expect - Multiple numbered files to be created (such as mysql.file.000001 or mysql.000001) I assume this may also apply to the relay logs but have not tested this. Also, I am not sure what the implications are of having only a single binlog file. How to repeat: (MTR test case attached) (1) Configure a server with log-bin=mysql.file.binlog max-binlog-size=4096 binlog-format=ROW (2) Start the server (3) Create some data For example, INSERT INTO t1 VALUES(1, REPEAT("12334567890", 1024)); (4) Look at the binlog and binlog index files Suggested fix: Generate numbered binlog names. If not possible, update the documentation and have the server issue a warning or error on startup if problematic characters are found in the name.