mysql sys_config表_sys_config表 · xiaoboluo768/mysql-system-schema Wiki · GitHub

(5) 2024-08-05 21:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
mysql sys_config表_sys_config表 · xiaoboluo768/mysql-system-schema Wiki · GitHub,希望能够帮助你!!!。

该表包含sys schema的配置选项,每个配置选项一行记录。该表是innodb表,可以通过客户端更新此表来持久化配置,server重启不会丢失

sys_config表字段含义如下:

variable:配置选项名称

value:配置选项值

set_time:该行配置最近修改时间

set_by:最近一次对改行配置进行修改的帐户名。如果自server安装sys schema以来,该行配置从未被更改过,则该列值为NULL

为了减少对sys_config表直接读取的次数,sys schema中的视图、存储过程在需要使用到这些配置选项时,会优先检查这些配置选项对应的用户自定义配置选项变量(用户自定义配置选项变量与该表中的配置选项都具有相同的名称,例如:表中的diagnostics.include_raw选项,对应的自定义配置选项变量是@sys.diagnostics.include_raw)。如果用户定义的配置选项变量存在于当前会话作用域中并且是非空的,那么sys schema中的函数、存储过程将优先使用该配置选项变量值。否则,该sys schema函数和存储过程将使用sys_config表中的配置选项值(对于使用sys_config表中的配置选项值时,调用时也会将sys_config表中的配置选项时同时更新到用户自定义配置选项变量中,以便在同一会话后续对该值的引用使用配置选项变量值,而不必再次从sys_config表中读取),示例:statement_truncate_len配置选项控制format_statement()函数返回的语句的最大长度。默认值为64.如果要临时将当前会话的值更改为32,可以设置对应的@sys.statement_truncate_len用户定义的配置选项变量:

# statement_truncate_len配置选项默认是64,直接调用format_statement()函数返回是64字节长度,在未调用任何涉及到该配置选项的函数之前,该自定义变量值为NULL,此时函数需要从表中查询默认值

admin@localhost : sys 11:47:37> select @sys.statement_truncate_len;

+-----------------------------+

| @sys.statement_truncate_len |

+-----------------------------+

| NULL |

+-----------------------------+

1 row in set (0.00 sec)

admin@localhost : sys 11:51:53> SET @stmt = 'SELECT variable, value, set_time, set_by FROM sys_config';

Query OK, 0 rows affected (0.00 sec)

admin@localhost : sys 11:52:04> SELECT format_statement(@stmt);

+----------------------------------------------------------+

| format_statement(@stmt) |

+-------------------

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复