不同MySQL环境下的用户名长度限制

mch*_*har 8 mysql users

我正在为我的本地环境设置一个项目,其初始脚本是一些用于创建数据库的 SQL 命令:

  • create database 'db-name' default character set utf8;

以及grant用户帐户的权限:

  • grant select, insert, update, delete, create, drop, index, alter on 'db-name'.* to 'user-name-too-long-for-user-name'@'localhost' identified by 'user-name-pass'

当我尝试运行grant命令时,我得到了这个:

  • ERROR 1470 (HY000): String 'user-name-to-long-for-user-name' is too long for user name (should be no longer than 16)

我不明白为什么会发生这种情况,而这个脚本在它出现在我的环境之前已经成功运行到另一个环境中。

我使用的服务器版本是5.6.20 MySQL Community Server (GPL)

这种情况是否与某个 MySQL 版本或其他什么有关?

And*_*y M 14

MySQL 中用户名的最大长度取决于版本,如手册中所述

MySQL 用户名最长可达 32 个字符(MySQL 5.7.8 之前为 16 个字符)。