zoukankan      html  css  js  c++  java
  • MySQL show full processlist 以及group_concat_max_len参数设置

    查询Mysql当前正在运行的SQL语句:
    show full processlist或者show processlist

    结果都是从information_schema.processlist表取的结果,所以也可以主直接查询该表
    select info from information_schema.processlist;

    但是如果 info 字段值(SQL语句)长度字节超过1024 则会被截断。

    mysql> show variables like 'group_concat_max_len' ;--默认长度为1024
    +----------------------+-------+
    | Variable_name | Value |
    +----------------------+-------+
    | group_concat_max_len | 1024 |
    +----------------------+-------+

    mysql> SELECT @@global.group_concat_max_len;
    +-------------------------------+
    | @@global.group_concat_max_len |
    +-------------------------------+
    | 1024 |
    +-------------------------------+

    临时解决办法:
    如果是生产环境下,不能擅自重启MySQL服务,则可以通过语句设置group_concat的作用范围,如:
    SET GLOBAL group_concat_max_len=-1;
    或者
    SET SESSION group_concat_max_len=-1;

    (-1为最大值或根据实际需求设置长度)。
    之后再执行show full processlist,就可以看到完整的info字段值了。

    mysql> SET SESSION group_concat_max_len=-1;---奇怪,按照该方法设置Session和Global的group_concat_max_len为-1之后,查看结果变为4。
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    mysql> show variables like "%len";
    +----------------------+-------+
    | Variable_name | Value |
    +----------------------+-------+
    | ft_max_word_len | 84 |
    | ft_min_word_len | 4 |
    | group_concat_max_len | 4 |
    +----------------------+-------+
    3 rows in set (0.00 sec)


    show processlist时,info字段同样被截断。所以,上面的设置没有生效。

    重新设置为group_concat_max_len=20480;

    mysql> SET SESSION group_concat_max_len=20480;
    Query OK, 0 rows affected (0.00 sec)

    mysql> show variables like "%len";
    +----------------------+-------+
    | Variable_name | Value |
    +----------------------+-------+
    | ft_max_word_len | 84 |
    | ft_min_word_len | 4 |
    | group_concat_max_len | 20480 |
    +----------------------+-------+
    3 rows in set (0.00 sec)

    mysql>

    之后再执行showshow processlist时,info字段没有被截断,设置生效。

    但是,该设置只对当前会话生效,我们可以在mysql的配置文件my.cnf配置文件中,新增加如下内容:
    group_concat_max_len=20480

    需要重启mysqld服务才生效。

  • 相关阅读:
    selenium+python处理Alert弹窗
    HTML在网页上不能显示图片问题
    制作python程序windows安装包(飞机大战源码)
    python读取ini文件
    python杀死Windows后台程序
    python3中文乱码解决方法
    算法04
    Windows10
    Windows10 快捷键
    文件夹选项-安装功能-window服务
  • 原文地址:https://www.cnblogs.com/rusking/p/13305176.html
Copyright © 2011-2022 走看看