• MySQL常见配置参数及命令


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

  • 相关阅读:
    计算机网络408考研 2020
    【操作系统】第2章 进程与线程
    Springboot毕设项目旅游信息采集管理与分享系统n2qez(java+VUE+Mybatis+Maven+Mysql)
    Mybatis-Plus--QueryWrapper--使用/实例
    前端发布项目后,解决缓存的老版本文件问题
    基于php的房屋销售网站
    Web3:数字身份与隐私保护的新篇章
    解决antd vue ts v-model:value绑定Boolean布尔类型爆红但可以使用
    SpringCloud Alibaba(七) - JWT(JSON Web Token)
    C++ 系统标准的输入输出流
  • 原文地址:https://blog.csdn.net/weixin_44688973/article/details/125456167