Mysql:Changes in MySQL 5.7.13 (2016-06-02, General Availability):maximum length of MySQL user names was increased from 16 to 32 characters
Changes in MySQL 5.7.13 (2016-06-02, General Availability)
-
In MySQL 5.7.8, the maximum length of MySQL user names was increased from 16 to 32 characters, but some applicable contexts for this increase were overlooked. Additional changes in maximum user name length now have been applied:
-
The size of these
mysqlsystem table columns is increased:-
The
definercolumn of theeventandproctables -
The
grantorcolumn of theprocs_privandtables_privtables
In each case, the column previously was defined as
CHAR(77), where 77 was chosen to permit astring containing a user name up to 16 characters, auser_name@host_name@character, and a host name up to 60 characters. Each column now is defined asCHAR(93), reflecting an increase in permitted user name length from 16 to 32 characters. -
-
A similar change from
CHAR(77)toCHAR(93)applies to theDEFINERcolumn of theseINFORMATION_SCHEMAtables:EVENTS,ROUTINES,TRIGGERS,VIEWS. Along with the changes toINFORMATION_SCHEMAtables, output from any correspondingSHOWstatements now displaysDEFINERvalues up to 93 characters. Examples of affected statements:SHOW EVENTS,SHOW TRIGGERS,SHOW PROCEDURE STATUS.
If you upgrade to this MySQL release from an earlier version, you must run mysql_upgrade (and restart the server) to incorporate the changes to the
mysqlsystem database. A server from MySQL 5.7.13 or higher for which mysql_upgrade has not been run continues to permit a maximum of 77 characters in the system tables mentioned previously, and anER_USER_COLUMN_OLD_LENGTHerror will occur in those system table contexts where avalue from 78 to 93 characters long is given.user_name@host_name -
-
It is possible to use
ALTER TABLEto change the default value of a columncol_name, which may change the value of a generated column expression that refers to the column usingDEFAULT(. For this reason,col_name)ALTER TABLEoperations that change the definition of a column now cause a table rebuild if any generated column expression usesDEFAULT(). (Bug #80299, Bug #22680839)
It is possible to use ALTER TABLE to change the default
value of a column col_name, which may
change the value of a generated column expression that refers to the column
using DEFAULT(. For this reason, col_name)ALTER TABLE operations that change
the definition of a column now cause a table rebuild if any generated column
expression uses DEFAULT().
浙公网安备 33010602011771号