• mysql8配置优化


    max_connections

    最大连接数
    服务器的并发连接请求量比较大,建议调高此值,相应的占用内存越大

    max_connections = 768
    
    • 1

    查看当前配置

    show variables like 'max_connections';
    
    • 1

    max_user_connections

    每个用户的最大连接数
    默认值 0
    0表示,不受限制

    max_user_connections = 600
    
    • 1

    查看当前配置

    show variables like 'max_user_connections';
    
    • 1

    wait_timeout

    MySQL客户端的数据库连接闲置最大时间值

    默认是 8小时

    #单位为秒,3600 表示1小时
    wait_timeout=3600
    
    • 1
    • 2

    sort_buffer_size

    sort_buffer_size是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存。并不是越大越好,由于是connection级的参数,过大的设置+高并发可能会耗尽系统内存资源。官方文档推荐范围为256KB~2MB

    sort_buffer_size = 2M
    
    • 1

    查看当前配置

    show variables like '%sort_buffer_size%';
    
    • 1

    back_log

    #默认的50,每个连接256kb,占用:125M

    back_log = 500
    
    • 1

    back_log值不能超过TCP/IP连接的侦听队列的大小
    查看 tcp/ip 连接数 cat /proc/sys/net/ipv4/tcp_max_syn_backlog

    查看当前配置

    show variables like 'back_log'
    
    • 1

    thread_concurrency

    多核心优化,应是 核心的2倍
    假设 4个cpu,每个cpu 2核,那么 最后应该是 16

    查看当前配置

    show variables like 'thread_concurrency'
    
    • 1

    修改mysql binlog

    查看日志

    mysql> show binary logs;
    
    • 1

    输出

    +---------------+------------+-----------+
    | Log_name      | File_size  | Encrypted |
    +---------------+------------+-----------+
    | binlog.000017 |  616891021 | No        |
    | binlog.000018 | 1073751165 | No        |
    | binlog.000019 | 1073742021 | No        |
    | binlog.000020 | 1283903951 | No        |
    | binlog.000021 |  589666324 | No        |
    +---------------+------------+-----------+
    5 rows in set (0.14 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    全部删除日志

    mysql> reset master;
    
    • 1

    结果
    输出

    mysql> show binary logs;
    +---------------+-----------+-----------+
    | Log_name      | File_size | Encrypted |
    +---------------+-----------+-----------+
    | binlog.000001 |       156 | No        |
    +---------------+-----------+-----------+
    1 row in set (0.00 sec)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    如果想单独删除某一个之前的日志

    删除 binlog.000020 之前的,但不包括 binlog.000020

    mysql> purge master logs to 'binlog.000020';
    
    • 1

    结果
    输出

    mysql> show binary logs;
    +---------------+------------+-----------+
    | Log_name      | File_size  | Encrypted |
    +---------------+------------+-----------+
    | binlog.000020 | 1283903951 | No        |
    | binlog.000021 |  589666324 | No        |
    +---------------+------------+-----------+
    2 row in set (0.00 sec)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    设置自动删除

    修改mysql 配置文件
    /etc/mysql/mysql.conf.d/mysqld.cnf

    [mysqld]
    ......
    # 在 [mysqld] 下增加如下,表示  5 天前日志都会删除
    --expire_logs_days=5
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    如何选择合适的工业相机
    K8S--常用的命令
    记录电脑快捷键
    SpringCloudAlibaba-微服务-Nacos服务配置
    1.1-回归
    阿里云服务器部署wordpress站点
    将符号分隔的文本文件txt转换为excel的实现
    FPC柔性电路板介绍及PCB设计经验规则总结
    AI写代码:我用kimi生成了一个设备节点监控网站,完美实现功能
    1208. 翻硬币
  • 原文地址:https://blog.csdn.net/wljk506/article/details/127846406