wait_timeout
:客户端连接自动断开连接时间(默认值是28800s,8个小时),自动断开的操作是“Server层的连接器做的”,断开后需要重新连接;
mysql_reset_connection
:初始化连接资源(MySQL 5.7及之后)
innodb_flush_log_at_trx_commit
:控制redo log刷盘时机,建议设置为1,每次提交事务redo log都会直接持久化到磁盘
sync_binlog
:控制binlog的刷盘时机,建议设置为1
● sync_binlog=0: 禁止 MySQL 服务器将二进制日志同步到磁盘。相反,MySQL服务器依赖操作系统不时将二进制日志刷新到磁盘,就像它对任何其他文件一样。此设置提供了最佳性能,但在发生电源故障或操作系统崩溃的情况下,服务器可能提交了尚未同步到二进制日志的事务。
●sync_binlog=1:在提交事务之前启用二进制日志到磁盘的同步。这是最安全的设置,但由于磁盘写入次数增加,可能会对性能产生负面影响。如果发生电源故障或操作系统崩溃,二进制日志中丢失的事务仅处于准备状态。这允许自动恢复例程回滚事务,从而保证没有事务从二进制日志中丢失。
● sync_binlog=N,其中N是 0 或 1 以外的值:N在收集二进制日志提交组后,将二进制日志同步到磁盘。在电源故障或操作系统崩溃的情况下,服务器可能提交了尚未刷新到二进制日志的事务。由于磁盘写入次数的增加,此设置可能会对性能产生负面影响。较高的值可提高性能,但会增加数据丢失的风险。
autocommit
:是否自动提交,默认为自动提交
MAX_EXECUTION_TIME
:控制每个语句执行的最长时间,避免单个语句执行太长时间
Flush tables with read lock(FTWRL)
:开启全局锁,锁对象是整个数据库实例,数据库处于只读状态,对应使用unlocak tablse
来解锁
long_query_time
:慢查询日志阈值
innodb_max_dirty_pages_pct
:脏页比例上限,默认值为75%
innodb_io_capacity
:刷盘的能力,默认值为200
innodb_flush_neighbors
:InnoDB刷脏时是否开启连带机制
innodb_log_file_size
:修改redo log日志大小(修改my.cnf)
innodb_log_files_in_group
:修改redo log日志个数(修改my.cnf)
binlog_cache_size
:控制单个线程内binlog cache所占的内存大小上限
sync_binlog
:控制binlog cache write和fsync的时机
innodb_flush_log_at_trx_commit
:控制redo log write到page cache和fsync的时机
binlog_group_commit_sync_delay
:binlog组提交,表示延迟多少微秒之后才调用fsync
binlog_group_commit_sync_no_delay_count
:表示累积多少次以后才调用fsync
innodb_buffer_pool_size
:控制InnoDB Buffer Pool大小
innodb_old_blocks_time
:InnoDB Buffer Pool LRU Old区中数据页的判断阈值
innodb_file_per_table
:控制InnoDB表数据存储行为
alter table A engine=InnoDB
:重建表(recreate)
analyze table t
:对表的索引信息做重新统计
optimize table t
:recreate + analyze
sort_buffer_size
:MySQL order by 进行排序时的内存大小,每个线程单独持有一份,超过此上限会使用磁盘临时文件
max_length_for_sort_data
:控制MySQL order by排序方式,当单行记录的长度超过此值时会使用rowid排序,否则使用全字段排序
tmp_table_size
:当需要使用临时表时,此参数是用来限制内存临时表大小的,如果临时表大小超过了这个值,那么内存临时表会转换为磁盘临时表,默认为16M
internal_tmp_disk_storage_engine
:控制磁盘临时表使用的引擎,默认为InnoDB
show slave status
:查看从库状态,比如主从延迟时间seconds_behind_master,单位:秒
slave_parallel_type
:MySQL5.7版本提供的,用来控制从库的并行复制策略
binlog_transaction_dependency_tracking
:MySQL5.7.22提供的,用于标识是否使用新版本并行复制策略
binlog_format:binlog格式,有row、statement、mixed
show binlog events in 'master_binlog.000001'
:查看binlog内容
show warnings
:查看MySQL警告
binlog_checksum
:binlog完整性校验
binlog_row_image
:binlog row格式下存储的before image和after image的内容,有FULL、MINIMAL、NOBLOB
slave-parallel-type
:从库的并行复制策略
sql_slave_skip_counter
:从库同步主库的binlog时,通过这个参数可以指定跳过n个事务
slave_skip_errors
:设置跳过指定的错误
gtid_mode
:开启GTID模式
ENFORCE_GTID_CONSISTENCY
:服务器通过只允许执行可以使用 GTID 安全记录的语句来强制执行 GTID 一致性。开启gtid_mode时此变量也需要开启
gtid_next
:设置GTID
● AUTOMATIC:使用下一个自动生成的全局事务 ID。
● ANONYMOUS:事务没有全局标识符,仅由文件和位置标识。
●UUID:NUMBER 格式的 全局事务 ID 。
innodb_thread_concurrency
:控制InnoDB的并发线程上限,不包括锁等待的线程。