I am setting up a project to my local environment and at its initial script are some SQL commands for creating the database:

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

and to grant privileges for the user account:

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

When I am trying to run the grant command I get this:

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

and I can't understand why is this happening whereas this same script has successfully run to another environment before it comes to mine.

The server version I am using is 5.6.20 MySQL Community Server (GPL).

Is this situation related to a certain MySQL version or something else?


The maximum length for a user name in MySQL does depend on the version, as stated in the manual:

MySQL user names can be up to 32 characters long (16 characters before MySQL 5.7.8).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.