web-dev-qa-db-fra.com

Restriction de longueur de nom d'utilisateur dans différents environnements MySQL

J'installe un projet dans mon environnement local et à son script initial sont quelques commandes SQL pour créer la base de données:

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

et aux privilèges grant pour le compte utilisateur:

  • 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'

Lorsque j'essaie d'exécuter la commande grant, j'obtiens ceci:

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

et je ne peux pas comprendre pourquoi cela se produit alors que ce même script a réussi à s'exécuter dans un autre environnement avant de venir au mien.

La version du serveur que j'utilise est 5.6.20 MySQL Community Server (GPL).

Cette situation est-elle liée à une certaine version de MySQL ou à autre chose?

8
mchar

La longueur maximale d'un nom d'utilisateur dans MySQL dépend de la version, comme indiqué dans le manuel :

Les noms d'utilisateur MySQL peuvent contenir jusqu'à 32 caractères (16 caractères avant MySQL 5.7.8).

13
Andriy M