• ADADADADAD

    centos7-mysql-cnf配置文件优化[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:56:51

    作者:文/会员上传

    简介:

    mysql优化最常见的就是my.cnf文件配置优化限制线程,访问等等max_connections = 151
    每个版本的限制不一样,限制最多连接数,并发访问多,可以适当调高
    back_log = 数值
    如果

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    mysql优化最常见的就是my.cnf文件配置优化
    限制线程,访问等等
    max_connections = 151
    每个版本的限制不一样,限制最多连接数,并发访问多,可以适当调高
    back_log = 数值
    如果并发量大,很多命令没法及时解决,使用这个参数就可以让后来的命令排队,存放在堆栈中
    show fullprocesslist使用这个命令可以查看有多少命令在等待中,如果很多这时候就需要增加 back 或者connections的值
    wait_timeout = 60 是一个非交互式等待的秒数,省的占用资源
    interactive_time = 200 交互式链接,如果长时间不操作自动断开,给其他资源让路
    key_buffer_size = 256M
    索引缓冲区大小,会缓存索引,省的去磁盘读取节省IO资源,但是会占用内存空间
    show status like 'key_read%'; 查看索引请求,多少是在缓冲区 多少没有.
    query_cache_size = 256M
    SQL查询语句缓冲,需要两条语句一模一样才能匹配
    show status like 'Qcache%' 查看各种query_cache_size设置信息
    Qcache_free_blocks如果数值过大则是碎片过多需要整理
    Qcache_free_memory剩余内存大小
    Qcache_hits多少次命中缓存,
    Qcache_inserts多少次未命中
    Qcache_lowmem_prunes因为内存不足而不记录的语句
    show variables like 'query_cache%'
    query_cache_ limit超过多大的查询不缓存,看情况
    query_cache_ min_res_unit 块的大小,大了提高速度,小了节省空间
    query_cache_ size查询缓存大小
    query_cache_ type = 0/1/2缓存类型,0等于关闭不缓存1会缓存所有结果2 通过sql_cache 指定需要缓存的查询
    max_connect_errors = 10
    密码错误次数限制,可以防止暴力破解,如果输错多少次,以后再也不响应,除非重启mysql或者flush hosts清空.
    sort_buffer_size = 2M
    mysql是通过线程来处理问题,主线程,分配给一个工作线程,每个线程会占用一定内存资源,如果这个值过高,在碰巧遇到高并发,就会耗尽内存,看情况而定
    max_allowed_packet = 32M
    mysql会根据这个来限制接受的数据包大小,如果大了则失败
    join_buffer_size=2M
    表关联缓存大小,和sort_buffer_size = 2M一样,对每个线程链接分配.
    thread_cache_size = 300
    缓存的工作线程,主线程有事情了直接从缓存线程中提取分配,如果自动生成在结束时会自动销毁.
    -----------------------------------------------------------------------------
    innodb配置
    innodb_buffer_pool_size = 2048M
    类似key_buffer_size lnnodb使用这个来确定缓冲数据和索引的大小
    innodb_flush_log_at_trx_commit = 0/1/2
    0每秒钟将logbuffer中的数据写入flush
    1美妙和每次事物提交将log buffer中的数据写入flush
    2每次每秒钟完成一次flush操作
    这条对速度的影响非常大,如果在允许mysql地址碎金部分事物的危险前提下,可以设置0 2.
    innodb_thread_concurrency = 0
    设置innodb的并发量,0不限制一般CPU核心数的2倍,一般为8
    innodb_log_buffer_size = 32M
    缓存日志大小,事物很大,需要增加缓存
    innodb_log_file_size = 50M
    确定数据日志文件的大小
    innodb_log_files_in_group =3
    mysql 可以将日志文件写到多个文件,推荐是3
    read_buffer_size = 1M
    为每个链接单独分配内存,可以增加性能,但是消耗内存
    read_rnd_buffer_size = 16M
    随手记读缓冲区大小,如果需要排序时,会分配一个随机读缓冲区进行排序查询,避免磁盘搜索占用IO提高查询速度,如果数据大可以适当提高.
    bulk_insert_buffer_size = 64M
    批量插入缓存大小可以有效提高效率,默认8M
    binary log
    log-bin=/*****mysql-bin
    binlog_cache_size
    存储二进制日志文件缓存
    max_binlog_cache_size = 8M 使用的cache内存大小
    max_binlog_size = 512M 日志文件大小,如果达到则会创建新的binlog日志
    expire_logs_days = 7 定期清理过期日志
    mysqladmin flush-logs 重新生成新的日志文件.

    centos7-mysql-cnf配置文件优化.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: oraclecnce