您的位置:首页 > 数据库 > MySQL

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';


  

二. 常用变量

变量名称意义默认值
versionMySQL版本
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, SERIALIZABLEREPEATABLE-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是否启用binlog0
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_lengroup_concat()函数的结果长度限制1024
innodb_versioninnodb版本
innodb_file_formatinnodb文件格式
innodb_data_file_path共享表空间配置(默认,所有innodb表的数据都会放在该文件里ibdata1)
innodb_file_per_table是否为每个表生成独立的表空间(这样,每个innodb表的数据都会放在自己的表空间里,名称为*.ibd)
innodb_read_io_threadsinnodb读线程数
innodb_write_io_threadsinnodb写线程数
innodb_purge_threadsinnodb purge线程数(l回收undo页)
innodb_page_sizeinnodb里页的大小16KB
innodb_log_buffer_sizeredo log缓存池(每秒会同步到日志文件)8MB
innodb_log_file_sizeredo log的文件大小(ib_logfile0、ib_logfile1)512MB
innodb_log_files_in_groupredo 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: