MySQL / MariaDB用户帐户名中允许哪些字符?

我不清楚MySQL / MariaDB用户帐户名中可能出现哪些字符,哪些字符是非法的.我在MysqL文档中阅读了第6.3.1 “User Names and Passwords”节.此部分包含有关字符编码和最大名称长度的信息,但它没有说明可以在帐户名称中使用的字符是否受到限制(或者我是否错过了该部分?).

那么,MysqL / MariaDB中是否有任何特殊的字符串不能用于用户帐户名?例如,控制字符(如换行符)或通配符(如星号)是非法字符吗?

解决方法:

用户名存储在MysqL.user表中.在我的系统(mariadb 10.3)上,该表创建为带有utf8字符集的CHAR(80).您可以通过运行来检查您的:

MariaDB [(none)]> SHOW CREATE TABLE MysqL.user\G
*************************** 1. row ***************************
       Table: user
Create Table: CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(80) COLLATE utf8_bin NOT NULL DEFAULT '',

这意味着,对于我的版本,用户名可以是0到80个字符,这些字符是有效的utf8字符串,但不在基本多语言平面之外(只有3个字节的字符).

所以控制和通配符是有效的,但是,例如,不是表情符号:

MariaDB [(none)]> CREATE USER 'a*b';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> CREATE USER 'a
    '> b';
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> CREATE USER '

相关文章

安装开始...1.打开“https://dev.mysql.com/downloadsepo/yu...
安装Helm3#官网下载慢#wgethttps://get.helm.sh/helm-v3.5.4...
通过Linux命令行启动用的指令:systemctlstartmariadb.servi...
InstallingMariaDBServer10.4TodeployMariaDBCommunityServe...
阅读目录一什么是存储引擎二mysql支持的存储引擎三使用存储引...
1、安装MariaDB安装命令yum-yinstallmariadbmariadb-server安...