一.变量常用操作
1.1 查看
SHOW VARIABLES LIKE '%max_allowed_packet%';
SELECT @@max_allowed_packet;
1.2 设置
SET GLOBAL max_allowed_packet = 2 * 1024 * 1024 * 10
SET autocommit = 1
SET autocommit = ON // 设置隔离级别
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
二.常用系统变量
变量名称 | 意义 | 默认值 |
max_allowed_packet | 客户端请求的数据量阈值(B)。如果超过此值,服务端会拒绝接收更多的数据并抛出相应的错误 | 1048576 |
max_connections | 最大连接数 | 100 |
wait_timeout | 当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接。 | 8小时 |
max_length_for_sort_data | 文件排序算法选择的根据。当查询需要所有列的长度小于此阈值时,mysql使用单次传输排序算法(一次性读入所有的列,排完序直接返回),否则使用两次传输排序算法(第一次读入需要排序的字段和行指针,排完序后根据行指针读取查询需要的列,造成大量的随机IO)。 | 1024 |
innodb_buffer_pool_size | 保存索引和数据的内存缓存区大小(B) | 134217728 |
thread_cache_size | 数据库连接池的缓存个数 | 8 |
tx_isolation | 隔离级别,可选:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE | REPEATABLE-READ |
autocommit | 事务是否自动提交。每一条单独的查询都是一个事务,并且自动开始,自动提交。 | ON |
query_cache_type | 是否打开查询缓存。可选:OFF/ON/DEMAND。DEMAND表示只有在查询语句中明确写明SQL_CACHE的语句才放入查询缓存。 | ON |
query_cache_size | 查询缓存使用的总内存空间(B),必须是1024的倍数,否则实际分配也会是1024的倍数。 | 16MB |
query_cache_limit | 能够缓存的最大查询结果。如果查询结果大于此值,则不会被缓存。 | 1MB |
log_slow_queries | 是否启用慢日志 | 0 |
long_query_time | 慢查询阈值。高于此值的查询语句会被记录在慢日志里。 | 10秒 |
group_concat_max_len | group_concat()函数的结果长度限制 | 1024 |
end