首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同MySQL环境下的用户名长度限制

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

Database Administration用户
提问于 2016-08-25 08:56:48
回答 2查看 19.6K关注 0票数 10

我正在为本地环境设置一个项目,它的初始脚本是一些用于创建数据库的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社区服务器(GPL)。

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

EN

回答 2

Database Administration用户

回答已采纳

发布于 2016-08-25 09:05:15

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

MySQL用户名可以长达32个字符(在MySQL 5.7.8之前的16个字符)。

票数 16
EN

Database Administration用户

发布于 2022-05-06 05:51:48

工作时间为10.7.3-MariaDB

代码语言:javascript
复制
USE mysql;
ALTER TABLE db CHANGE User User CHAR(48) NOT NULL DEFAULT '';
ALTER TABLE user CHANGE User User CHAR(48) NOT NULL DEFAULT '';
ALTER TABLE columns_priv CHANGE User User CHAR(48) NOT NULL DEFAULT '';
ALTER TABLE procs_priv CHANGE User User CHAR(48) NOT NULL DEFAULT '';
ALTER TABLE proxies_priv CHANGE User User CHAR(48) NOT NULL DEFAULT '';
ALTER TABLE tables_priv CHANGE User User CHAR(48) NOT NULL DEFAULT '';

重新启动mysql

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/147857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档