标签:tps pos proc ase schema isp imu lin rac
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 mysql
system table columns is increased:
The definer
column of the event
and proc
tables
The grantor
column of the procs_priv
and tables_priv
tables
In each case, the column previously was defined as CHAR(77)
, where 77 was chosen to permit a
string containing a user name up to 16 characters, a user_name
@host_name
@
character, and a host name up to 60 characters. Each column now is defined as CHAR(93)
, reflecting an increase in permitted user name length from 16 to 32 characters.
A similar change from CHAR(77)
to CHAR(93)
applies to the DEFINER
column of these INFORMATION_SCHEMA
tables: EVENTS
, ROUTINES
, TRIGGERS
, VIEWS
. Along with the changes to INFORMATION_SCHEMA
tables, output from any corresponding SHOW
statements now displays DEFINER
values 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 mysql
system 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 an ER_USER_COLUMN_OLD_LENGTH
error will occur in those system table contexts where a
value from 78 to 93 characters long is given.user_name
@host_name
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()
. (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()
.
标签:tps pos proc ase schema isp imu lin rac
原文地址:https://www.cnblogs.com/jinzhenshui/p/12584082.html