参数 | 说明 | 默认值 |
wait_timeout | 连接器等待时间 | 8小时 |
query_cache_type | 查询缓存。建议设置成DEMAND(不使用),因为一旦对表进行更新,就会清空缓存,缓存的命中率很低,在8.0版本中废弃 | |
innodb_flush_log_at_trx_commit | 设置成1,每次事务的redo log都直接持久化到磁盘,保证MySQL异常重启数据不丢失 | |
sync_log | 设置成1,每次事务的binlog都直接持久化到磁盘,保证MySQL异常重启数据不丢失 | |
transaction_isolation | READ-UNCOMMIT(读未提交) READ-COMMIT(读提交) REPEATABLE-READ(可重复读) SERIALIZABLE(可串行化) set global transaction_isolation=0或(1/2/3)分别设置为以上4种隔离级别 | |
autocommit | 自动提交事务。建议设置成1,每个sql都自动提交,要使用事务时再显示定义 | |
innodb_lock_wait_timeout | 等待锁超时时间, | 50s |
innodb_deadlock_detect | 死锁检测,设置为on,表示开启 | |
innodb_change_buffer_max_size | 当设置为50时,表示最多占用buffer pool的50% | |
innodb_io_capacity | 告诉Innodb磁盘能力,用于刷脏页。建议设置成磁盘的 IOPS | |
innodb_max_dirty_pages_pct | 脏页比例上限 | 75% |
innodb_flush_neighbors | 控制刷脏页时是否把邻近的脏页也一起刷了。 值为 1 的时候会有上述的“连坐”机制,值为 0 时表示不找邻居,自己刷自己的。 如果使用固态硬盘,建议设置为0 | 8.0版本中默认0 |
innodb_file_per_table | OFF :表的数据放在系统共享表空间,也就是跟数据字典放在一起 ON :每个 InnoDB 表数据存储在一个以 .ibd 为后缀的文件中 建议设置为ON | 5.6.6默认ON |
show processlist 显示进程
mysql_reset_connection 重新初始化连接资源,避免长连接长时间积累导致内存占用太大
Flush tables with read lock 加全局读锁,用于数据库备份
start transaction with consistent snapshot 立即启动事务
alter table A engine=InnoDB 重建表