1、状态变量
2、show方式查看状态变量
--当前演示环境 root@localhost[(none)]> show variables like 'version'; +---------------+------------+ | Variable_name | Value | +---------------+------------+ | version | 5.5.39-log | +---------------+------------+ a、查看所有状态变量 root@localhost[(none)]> show status; +------------------------------------------+-------------+ | Variable_name | Value | +------------------------------------------+-------------+ | Aborted_clients | 0 | | Binlog_stmt_cache_use | 1 | | Bytes_received | 135 | | Bytes_sent | 266 | | ................ | | | Threads_running | 1 | | Uptime | 76242 | | Uptime_since_flush_status | 76242 | +------------------------------------------+-------------+ 312 rows in set (0.00 sec) --可以看出当前版本5.5.39有312个状态变量 b、查看仅有global的状态变量(connections) --查看指定的状态变量,以下两个与connection相关的都为全局状态变量 root@localhost[(none)]> show global status like 'connection%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Connections | 11 | --连接到MySQL服务器的数量(包含成功或失败的)。 +----------------------+-------+ suse11b:~ # mysql -ufred fred@localhost[(none)]> show global status like '%connection%'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | Connections | 12 | --连接之后,我们看到Connections的值变为12了。 +----------------------+-------+ c、查看既有global又有session状态的变量 --查看session状态变量opened_tables root@localhost[tempdb]> show session status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 0 | +---------------+-------+ root@localhost[tempdb]> select count(*) from tb_slow; +----------+ | count(*) | +----------+ | 424448 | +----------+ root@localhost[tempdb]> show session status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 1 | --值变为1 +---------------+-------+ --从information_schema.session_status表查询状态变量OPENED_TABLES root@localhost[tempdb]> select * from information_schema.session_status -> where variable_name like 'opened_tables'; +---------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +---------------+----------------+ | OPENED_TABLES | 1 | +---------------+----------------+ --查看全局状态变量opened_tables root@localhost[tempdb]> show global status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 54 | +---------------+-------+ root@localhost[tempdb]> select count(*) from mysql.db; +----------+ | count(*) | +----------+ | 2 | +----------+ root@localhost[tempdb]> show global status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 55 | --值变为55 +---------------+-------+ --从information_schema.global_status表查询状态变量OPENED_TABLES root@localhost[tempdb]> select * from information_schema.global_status -> where variable_name like 'opened_tables'; +---------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +---------------+----------------+ | OPENED_TABLES | 55 | +---------------+----------------+ --清洗状态变量统计信息 root@localhost[tempdb]> flush status; Query OK, 0 rows affected (0.00 sec) --下面的查询结果可以看出,session级别的opened_tables被重置为0 root@localhost[tempdb]> show session status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 0 | +---------------+-------+ --Author: Leshami --Blog : http://blog.csdn.net/leshami --而全局级别的opened_tables未受到任何影响 root@localhost[tempdb]> show global status like 'opened_tables'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Opened_tables | 55 | +---------------+-------+
3、使用mysqladmin extended-status获取状态变量
suse11b:~ # mysqladmin extended-status|grep Connections | Connections | 18 | suse11b:~ # mysql root@localhost[(none)]> system mysqladmin extended-status|grep Connections | Connections | 20 | root@localhost[(none)]> exit Bye suse11b:~ # mysqladmin --help |more #mysqladmin与状态变量有关的使用 extended-status Gives an extended status message from the server flush-status Clear status variables