MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
方法可以在运行时设置许多MySQL程序的内部变量集
声明。看到第13.7.6.1节“变量赋值的SET语法”,第5.1.9节“使用系统变量”.
通过使用与指定程序选项相同的语法,也可以在服务器启动时设置这些程序变量中的大多数。例如,mysql有一个max_allowed_packet
变量,该变量控制其通信缓冲区的最大大小。设置max_allowed_packet
变量mysql设置为16MB,使用以下命令之一:
mysql——max_allowed_packet=16777216
第一个命令以字节为单位指定值。第二个参数指定以兆字节为单位的值。对于接受数值的变量,该值可以用的后缀给出K
,米
,或G
表示1024的乘数,即10242或10243..(例如,当用于设置max_allowed_packet
,后缀表示单位为千字节、兆字节或千兆字节。)从MySQL 8.0.14开始,后缀也可以是T
,P
,E
表示1024的乘数4, 1024年5或10246.后缀字母可以是大写或小写。
在选项文件中,给出的变量设置没有前导破折号:
(mysql) max_allowed_packet = 16777216
或者:
(mysql) max_allowed_packet = 16米
如果愿意,选项名称中的下划线可以指定为破折号。下面的选项组是等价的。两者都将服务器密钥缓冲区的大小设置为512MB:
[mysqld] key_buffer_size=512M [mysqld] key-buffer-size=512M
在程序调用时设置变量时,可以使用用于指定值乘数的后缀,但不能使用集
在运行时。另一方面,与集
,您可以使用表达式指定变量的值,但在服务器启动时设置变量时则不能这样做。例如,下面的第一行在程序调用时是合法的,但第二行不是:
shell> mysql——max_allowed_packet=16*1024*1024
相反,下面的第二行在运行时是合法的,但第一行是不合法的:
SET GLOBAL max_allowed_packet=16M;SET GLOBAL max_allowed_packet=16*1024*1024;