Details
-
Bug
-
Status: Open (View Workflow)
-
Critical
-
Resolution: Unresolved
-
11.8.9
-
None
-
Q4/2026 Server Maintenance
Description
Prior to MDEV-38698 the character set of the mysql.user view depended on the character-set-server setting in effect at the time of the view creation.
This lead to inconsistencies across platforms, e.g. with .deb packages the view was created using a UTF8 character set and collation while with RPM packages it was created using Latin1.
Now with latest 11.8 not only are new server installations using Latin1 even on Debian ad Ubuntu; and even older installations that previously used UTF8 are changed to using Latin1 after upgrade to 11.8.
This does not affect the user and host columns which are retrieved 1:1 from the global_priv table, but for example all the %_priv columns generated by the view.
This is causing problems when e.g. doing the following using Chinese Big5 as the character set now:
SET NAMES big5; SELECT * FROM mysql.user WHERE insert_priv = 'Y';
|
 |
ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (big5_chinese_ci,COERCIBLE) for operation '='
|
The above query works when the view is created with `utf8mb3` or `utf8mb4` as character set; but it fails when it is created using `latin1`; or when it is changed to `latin1` via running `mariadb-upgrade` now.
While I understand the desire to make the views character consistent across installations via MDEV-38698 I think converting it to UTF8 makes much more sense than sticking with Latin1 here.
Attachments
Issue Links
- is caused by
-
MDEV-38698 mysql_upgrade does not fix charset and collation for mysql.user
-
- Closed
-