[MDEV-26442] DROP USER with unicode hostname doesn't work Created: 2021-08-19  Updated: 2021-08-24

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.5.12
Fix Version/s: 10.5, 10.6

Type: Bug Priority: Major
Reporter: markus makela Assignee: Oleksandr Byelkin
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Creating the user 'user'@'�' with utf8 as the client character causes a user to be created that cannot be dropped.
The unicode characters is (Jira for some reason doesn't show it):
� U+1F4A9 PILE OF POO

$ mysql -e "create user 'user'@'�';select user, host, hex(host) from mysql.user where user = 'user'"
+------+------+-----------+
| User | Host | hex(host) |
+------+------+-----------+
| user |  ??? | 003F3F3F  |
+------+------+-----------+
$ mysql  -e "drop user 'user'@'�'"
ERROR 1396 (HY000) at line 1: Operation DROP USER failed for 'user'@'\0\
$ mysql -e "drop user 'user'@'???'"
ERROR 1396 (HY000) at line 1: Operation DROP USER failed for 'user'@'???'

Using --default-character-set=utf8mb4 causes the user to be created "correctly" and it can be dropped with the same host:

$ mysql --default-character-set=utf8mb4 -e "create user 'user'@'�';select user, host, hex(host) from mysql.user where user = 'user'"
+------+------+-----------+
| User | Host | hex(host) |
+------+------+-----------+
| user | ?    | 3F        |
+------+------+-----------+
$ mysql --default-character-set=utf8mb4 -e "drop user 'user'@'�';"


Generated at Thu Feb 08 09:45:20 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.