Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5.4
-
None
Description
The 50-client.cnf configuration file on Debian/Ubuntu currently sets default-character-set:
$ cat /etc/mysql/mariadb.conf.d/50-client.cnf
|
#
|
# This group is read by the client library
|
# Use it for options that affect all clients, but not the server
|
#
|
|
[client]
|
# Default is Latin1, if you need UTF-8 set this (also in server section)
|
default-character-set = utf8mb4
|
|
# Example of client certificate usage
|
# ssl-cert=/etc/mysql/client-cert.pem
|
# ssl-key=/etc/mysql/client-key.pem
|
#
|
# Allow only TLS encrypted connections
|
# ssl-verify-server-cert=on
|
|
# This group is *never* read by mysql client library, though this
|
# /etc/mysql/mariadb.cnf.d/client.cnf file is not read by Oracle MySQL
|
# client anyway.
|
# If you use the same .cnf file for MySQL and MariaDB,
|
# use it for MariaDB-only client options
|
[client-mariadb]
|
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:
$ mysqlbinlog --help
|
mysqlbinlog: unknown variable 'default-character-set=utf8mb4'
|
And neither does mysqlslap:
$ mysqlslap --help
|
mysqlslap: unknown variable 'default-character-set=utf8mb4'
|
This option should not be in the [client] option group, since not all clients support it.
Attachments
Issue Links
- blocks
-
MDEV-19123 Change default charset from latin1 to utf8mb4
-
- Closed
-
- is duplicated by
-
MDEV-24006 mysqlbinlog command does not work on new MariaDB 10.5.6 install
-
- Closed
-
- relates to
-
MDEV-22982 Client --help options break when configuration files contain unknown options
-
- Open
-
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.