MySQL变量
2015-12-29 15:54
429 查看
一. mysql变量的操作
1.1 查看
SHOW VARIABLES SHOW VARIABLES LIKE "%max_allowed_packet%"; SELECT @@max_allowed_packet
2.2 设置
SET GLOBAL max_allowed_packet = 2 * 1024 * 1024 * 10 SET @@GLOBAL.max_allowed_packet = 2 * 1024 * 1024 * 10 SET autocommit = 1 SET autocommit = ON // 设置隔离级别 SET GLOBAL tx_isolation='REPEATABLE-READ';
二. 常用变量
变量名称 | 意义 | 默认值 |
version | MySQL版本 | |
log_error | 错误日志文件的路径。 | |
max_allowed_packet | 客户端请求的数据量阈值(B)。如果超过此值,服务端会拒绝接收更多的数据并抛出相应的错误 | 1048576 |
max_connections | 最大连接数 | 100 |
wait_timeout | 当一个连接的空闲时间超过8小时后,MySQL 就会断开该连接。 | 8小时 |
max_length_for_sort_data | 文件排序算法选择的根据。当查询需要所有列的长度小于此阈值时,mysql使用单次传输排序算法(一次性读入所有的列,排完序直接返回),否则使用两次传输排序算法(第一次读入需要排序的字段和行指针,排完序后根据行指针读取查询需要的列,造成大量的随机IO)。 | 1024 |
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_bin | 是否启用binlog | 0 |
log_slow_queries | 是否启用慢日志 | 0 |
long_query_time | 慢查询时间阈值。高于此值的查询语句会被记录在慢日志里。 | 10秒 |
log_queries_not_using_indexes | 是否将没有应用索引的查询记入慢日志里。 | 1 |
log_throttle_queries_not_using_indexes | 每分钟允许记录到slow log的未使用索引的SQL数(0表示不限) | 0 |
group_concat_max_len | group_concat()函数的结果长度限制 | 1024 |
innodb_version | innodb版本 | |
innodb_file_format | innodb文件格式 | |
innodb_data_file_path | 共享表空间配置(默认,所有innodb表的数据都会放在该文件里ibdata1) | |
innodb_file_per_table | 是否为每个表生成独立的表空间(这样,每个innodb表的数据都会放在自己的表空间里,名称为*.ibd) | |
innodb_read_io_threads | innodb读线程数 | |
innodb_write_io_threads | innodb写线程数 | |
innodb_purge_threads | innodb purge线程数(l回收undo页) | |
innodb_page_size | innodb里页的大小 | 16KB |
innodb_log_buffer_size | redo log缓存池(每秒会同步到日志文件) | 8MB |
innodb_log_file_size | redo log的文件大小(ib_logfile0、ib_logfile1) | 512MB |
innodb_log_files_in_group | redo log的文件数(ib_logfile0、ib_logfile1...) | 2 |
[b]innodb_buffer_pool_size[/b] | 保存索引页、数据页、undo页等的内存缓存区大小(B,所有缓冲池实例的总和) | 134217728 |
innodb_buffer_pool_instances | 内存缓冲池实例个数 | 1 |
innodb_old_blocks_pct | 缓冲池LRU列表中old列表占的百分比,也即midpoint的位置(之前的为new列表,可以认为热点数据,之后的为old列表)。新读取的页面会插入到此位置,而不是头部。 | 37 |
innodb_old_blocks_time | 页读取到LRU列表的midpoint位置后,需要等待多久才会被加入到LRU列表的热端。 | |
innodb_max_dirty_pages_pct | 缓冲池中脏页的数量超过该百分比时,强制进行Checkpoint。 | 75 |
innodb_lru_scan_depth | 每次用户查询时,LRU列表保证的可用页数。如果小于该数,则将移除LRU尾部的旧数据(有脏页的话,需要checkpoint)。 | 1024 |
innodb_purge_batch_size | 每次full purge回收的undo页的数量。 | 20 |
innodb_adaptive_hash_index | 是否启用自适应哈希索引 | 1 |
innodb_use_native_aio | 是否启用native AIO(合并IO) | 1 |
innodb_flush_neighbors | 刷新脏页时,是否将物理邻接的脏页也一同刷新(利用AIO,提高性能) | 1 |
innodb_status_output | 是否开启innodb标准monitor输出 | OFF |
innodb_status_output_locks | 是否开启innodb标准monitor的锁详细信息输出 | OFF |
innodb_show_verbose_locks | 是否显示锁的详细信息 | |
innodb_show_locks_held | 记录锁详细信息的数量 | |
innodb_lock_wait_timeout | 锁等待时间(秒) | 50 |
相关文章推荐
- 新安装mysql修改配置文件innodb不能使用
- mysql 笔记
- 8个节点MySQL-cluster安装和配置,含两个管理节点
- MySQL准备语句
- mysql 授权用户
- MySQL常用语句
- Mysql B+tree
- MySQL数据库的优化-笔者近六年来一线城市工作实战经验
- mysql的event schedule
- MySQL学习笔记--主从复制故障重置操作
- mysql原创博客
- MYSQL 索引及优化
- MySQL函数之数学函数
- mysql中复制表数据
- mysql导入导出数据或者update出错
- mysql导入数据出错
- mysql 主从图
- MySQL 语句级避免重复插入—— Insert Select Not Exist
- 解决mysql8小时自动断开问题
- MySQL函数之字符函数