欢迎来到福编程网,本站提供各种互联网专业知识!
您的位置:网站首页 > 数据库 > Mysql

MySql服务器系统变量和状态变量介绍

发布时间:2014-12-01 作者:投稿junjie 来源:转载
这篇文章主要介绍了MySql服务器系统变量和状态变量介绍,本文分别讲解了它们的作用、设置方法和获取方法,需要的朋友可以参考下

服务器系统变量

服务器将维护许多表示其配置的系统变量。所有变量均有默认值。可以在命令行中或选项文件设置选项在服务器启动时对它们进行设置。大多数可以在运行时使用SET语句来设置。

mysqld服务器维护两种变量。全局变量影响服务器的全局操作。会话变量影响具体客户端连接相关操作。

服务器启动时,将所有全局变量初始化为默认值。可以在选项文件或命令行中指定的选项来更改这些默认值。服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量。要想更改全局变量,必须具有SUPER权限。

服务器还为每个客户端连接维护会话变量。连接时使用相应全局变量的当前值对客户端会话变量进行初始化。客户可以通过SET SESSION var_name语句来更改动态会话变量。设置会话变量不需要特殊权限,但客户可以只更改自己的会话变量,而不更改其它客户的会话变量。

任何访问全局变量的客户端都可以看见对全局变量的更改。但是,它只影响在更改后连接的从该全局变量初始化相应会话变量的客户端。它不会影响已经连接上的客户端的会话变量(甚至是执行SET GLOBAL语句的客户端)。

要想显式指定是否设置全局或会话变量,使用GLOBAL或SESSION选项:

复制代码 代码如下:

mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024;

mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;

两个选项均没有,则语句设置会话变量。

你可以通过SHOW VARIABLES语句查看系统变量及其值。

复制代码 代码如下:

mysql> SHOW VARIABLES;

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

| Variable_name | Value |

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

| auto_increment_increment | 1 |

| auto_increment_offset | 1 |

....

若没有另行规定,缓冲区大孝长度和堆栈大小的单位均为字节。

更多参考 http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-system-variables

服务器状态变量

服务器维护许多提供操作相关信息的状态变量。你可以通过SHOW STATUS语句查看这些变量和它们的值:

复制代码 代码如下:

mysql> SHOW STATUS;

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

| Variable_name | Value |

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

| Aborted_clients | 0 |

| Aborted_connects | 0 |

| Bytes_received | 155372598 |

| Bytes_sent | 1176560426 |

| Connections | 30023 |

| Created_tmp_disk_tables | 0 |

| Created_tmp_files | 3 |

| Created_tmp_tables | 2 |

| Threads_created | 217 |

| Threads_running | 88 |

| Uptime | 1389872 |

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

用FLUSH STATUS语句可以将许多状态变量重设为0。

更多参考 http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-status-variables

相关推荐