1. Mysql系统变量介绍
Mysql系统变量是一种用于控制Mysql服务器行为的设置。它们可以通过修改配置文件或在运行时使用SET语句来改变。Mysql系统变量主要分为全局变量和会话变量两种类型。
1.1 全局变量
全局变量是一种在Mysql服务器启动时设置的变量,对所有会话生效。全局变量可以通过修改配置文件中的相关参数来设置。以下是一些常用的全局变量:
max_connections: 该变量控制服务器能够同时支持的最大连接数。
innodb_buffer_pool_size: 该变量指定了InnoDB存储引擎使用的缓冲池大小。
query_cache_size: 该变量控制查询缓存的大小,可以有效地提高查询性能。
1.2 会话变量
会话变量是一种仅对当前会话生效的变量,它可以被单个客户端连接修改,不会影响其他会话和全局设置。以下是一些常用的会话变量:
autocommit: 该变量控制是否自动提交事务。
character_set_client: 该变量指定了客户端发送给服务器的字符集。
sql_mode: 该变量定义了Mysql服务器的SQL语法和功能的模式。
2. Mysql状态变量介绍
Mysql状态变量是一种用于监控Mysql服务器状态的变量。它们提供了关于服务器活动的实时信息,如查询次数、连接数等。Mysql状态变量可以通过SHOW STATUS语句来查看。以下是一些常用的状态变量:
2.1 连接状态变量
连接状态变量提供了关于当前连接的信息,如当前连接数、最大连接数等。以下是一些常用的连接状态变量:
Threads_connected: 当前连接数。
Max_used_connections: 最大同时连接数。
Aborted_clients: 由于客户端断开连接而导致的连接中断次数。
2.2 缓存状态变量
缓存状态变量提供了关于查询缓存的信息,如查询缓存命中率、查询缓存被使用的次数等。以下是一些常用的缓存状态变量:
Qcache_hits: 查询缓存被使用的次数。
Qcache_inserts: 插入查询缓存的次数。
Qcache_not_cached: 查询没有被缓存的次数。
总结
Mysql系统变量和状态变量是管理和监控Mysql服务器的重要工具。系统变量可以用于调整服务器的行为和性能,而状态变量可以提供实时的服务器信息。
-- 设置会话变量autocommit为0
SET autocommit=0;