私はローカル環境にプロジェクトをセットアップしており、その初期スクリプトには、データベースを作成するためのいくつかの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バージョンなどに関連していますか?
MySQLでのユーザー名の最大長はバージョンによって異なります マニュアルに記載されているように :
MySQLユーザー名の長さは、最大32文字です(MySQL 5.7.8より前は16文字)。