MySQL常见配置参数及命令

2022-12-02 10:30:21 浏览数 (1)

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的并发线程上限,不包括锁等待的线程。

0 人点赞