[MDEV-22981] Bad "default-character-set" option in [client] option group 50-client.cnf on Debian/Ubuntu Created: 2020-06-23 Updated: 2020-10-23 Resolved: 2020-10-23 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Configuration, Packaging, Platform Debian, Scripts & Clients |
| Affects Version/s: | 10.5.4 |
| Fix Version/s: | 10.5.4 |
| Type: | Bug | Priority: | Major |
| Reporter: | Geoff Montee (Inactive) | Assignee: | Otto Kekäläinen |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Description |
|
The 50-client.cnf configuration file on Debian/Ubuntu currently sets default-character-set:
Not all clients support the default-character-set option, so this causes errors when those clients are used. For example, mysqlbinlog doesn't support it:
And neither does mysqlslap:
This option should not be in the [client] option group, since not all clients support it. |
| Comments |
| Comment by Otto Kekäläinen [ 2020-06-24 ] |
|
I am re-opening this issue for further work. The commit 039cb6f6bfaaeafeb87e6d10c88be2cac87654e7 completely reverts and nullifies the previous change to start using utf8mb4 by default. You should not just remove it, in particular without any consultation with people who did the prior work such as me and robertbindar and @serg in https://github.com/MariaDB/server/pull/1504/commits We have had UTFMB4 by default in Debian for years and nobody has reported that mysqlbinlog or other tools would be incompatible with it. If they are, shouldn't those tools be updated to support that option? Or this config section moved to another name? Just bluntly disabling it with an inline comment (but without any explaining lines) is not a good option. This needs more work. |
| Comment by Sergei Golubchik [ 2020-06-25 ] |
|
It doesn't revert and nullify your change, utf8mb4 is still the default for the server, so all tables will use utf8mb4 by default and data will be stored as utf8mb4 by default. The mariadb client should not be forced to use utf8mb4 by default, a better default behavior is to auto-detect the character set from the current locale. This is what it does now. Some other clients don't recognize default-character-set at all. So, in short, while utf8mb4 for the server is fine, for the client it is not. |
| Comment by Otto Kekäläinen [ 2020-06-27 ] |
|
Final fix (removal of it completely) is included in https://github.com/MariaDB/server/pull/1600 |
| Comment by Sergei Golubchik [ 2020-10-23 ] |
|
the bug itself (default-character-set in [client]) was fixed in 10.5.4. your PR meanwhile was merged too. |