原因:用户名在用户表的定义是16个字符:
mysql> desc user;
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field                 | Type                              | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host                  | varchar(60)                       |      | PRI |         |       |
| User                  | varchar(16)                       |      | PRI |         |       |
解决办法:不知道,简单地修改用户表的定义并不可靠,不知道别的地方会不会也定义了这个16的限制建议:看看mysql的源码