美文网首页
Mysql配置优化

Mysql配置优化

作者: Hi_One | 来源:发表于2017-10-31 16:13 被阅读5次
[mysqld]
socket = /tmp/mysql.sock
#Linux环境下特有,用户在Linux客户端链接可以不通过TCP/IP网络而直接使用socket链接mysql

skip-external-locking
#避免Mysql的外部锁定,减少出错率,增强稳定性。

skip-name-resolve
#禁止mysql堆外部链接进行DNS解析,消除mysql进行DNS解析的时间,开启后所有远程主机只能通过IP连接

back_log = 384
#Mysql暂停响应新请求之前,短时间内的多个请求可以被存在堆栈中。如果系统在短时间内有很多连接,则需要增大该参数值指定到来的TCP连接的侦听队列的大小。(默认值为50,推荐设置小于512的整数)

key_buffer_size = 384M
#指定用于索引的缓冲区大小,增加它可以更好的索引处理性能(4G左右服务器,建议设置256M-384M)

max_allowed_packet = 4M
#在网络传输中一次消息传输大量的最大值。系统默认为1M,最大为1G,必须设置1024的倍数

thread_stack = 256k
#设置mysql每个线程的堆栈大小,默认值(192K)足够大。可设置范围128K到4GB,

tabke_cache = 614K
#指表高速缓存的大小。当Mysql访问一个表时,如果在mysql表缓存区还有空间,那么这个表就被打开并放入表缓冲区,能更快地访问表中的内容。可以通过Open_tables喝Opened_tables,判断是否需要增加table_cache的值,如果open_tables接近table_cache的时候,并且Opened_tables这个值在逐步增加,那就要考虑增加这个值的大小。

sort_buffer_size = 6M
#查询排序时能使用的缓冲区大小(默认2M)

read_buffer_size = 4M
#读查询所能使用的缓冲区大小

join_buffer_size = 8M
#联合查询能使用的缓冲区大小

myisam_sort_buffer_size = 64M
#用于设置在REPAIR TABLE或用CREATE INDEX创建索引或ALTER TABLE的过程中排序索引所分配的缓冲区大小(范围为4M至4GB,默认8M)

thread_cache_size = 64M
#用于设置Thread Cache池中可以缓冲的连接线程最大数量,范围0-16384默认为0。这个值表示可以重新利用包吃在缓冲中的线程数量,当断开连接时,如果缓冲中还有空间,那么客户端的线程将被放到缓存中;如果线程重新被请求,那么请求将从缓冲中读取,如果缓冲中是空的或则是新的请求,那么这个线程将重新创建,如果有很多新的线程,增加这个值可以改善系统性能。(1G=8 2G=16 3G=32 4G=64或 更大)

query_cache_size = 64M
#指定Mysql查询缓冲区的大小。可以通过Mysql控制台观察,如果Qcache_lowmem_prunes的值非常大,表明经常出现缓冲不够的清空;如果Qcache_hits的值非常大,则表明查询缓冲使用非常频繁。如果该值较小反而会影响效率,那么可以考虑不用查询缓冲;如果Qcache_free_blocks非常大,表明缓冲区碎片很多;

tmp_table_size = 256M
#用于设置内存临时表的最大值。如果超过该值,则会将临时表写入硬盘,范围1K到4GB。

max_connections = 768
#指定Mysql允许的最大连接进程数。如果经常出现“Too Many Connections"的错误,则要增大

max_connect_errors = 1000
#用于设置每台主机的连接请求异常终端的最大次数,当超过该次数,Mysql禁止host的连接请求。直到Mysql重启或通过flush hosts命令清空此host的相关信息。默认为10

wait_timeout = 10
#用于指定一个请求的最大连接时间,对于4GB左右内存的服务器来说,可以设置5-10

thread_concurrency = 8
#取值为服务器裸机CPU的数量的两倍

skip-networking
#开启选项可以彻底关闭Mysql的TCP/IP连接方式,如果web服务器是以远程连接访问mysql则不需要开启,否则无法正常连接

table_cache = 1024
#物理内存越大,设置越大,512-1024最佳。

innodb_additional_mem_pool_size = 4M
#默认为2M

innodb_flush_log_at_trx_commit = 1
#设置为0就是等到innodb_log_buffer_size列队满后在统一存储,默认为1

innodb_log_buffer_size = 2M
#默认为1M

innodb_thread_concurrency = 8
#服务器CPU有几个就设置几个

tmp_table_size = 64M
#设置内存临时表最大值。如果超过该值,则会将临时表写入磁盘。范围1KB-4GB

read_rnd_buffer_size = 16M
#设置进行随机读写的时候所有使用的缓冲区。与read_buffer_size所设置相反,一个是顺序读的时候使用,一个是随机读的时候使用


#如果key_reads太大,则应该把key_buffer_size变大,保持key_reads/key_read_requests至少在1/100以上,越小越好;如果qcache_lowmem_prunes很大,就要增加query_cachesize的值

相关文章

  • mysql性能优化-慢查询分析、优化索引和配置

    mysql性能优化-慢查询分析、优化索引和配置 分类:Mysql/postgreSQL 目录 一、优化概述 二、查...

  • 后端开发需要了解的mysql优化方向

    优化思维导图 参数优化注意事项 参数优化分为 动态参数配置 和 配置文件的配置,建议在启动mysql之前配置好优化...

  • MYSQL优化相关

    mysql优化3大方向: 优化mysql所在服务器内核(运维完成)对mysql配置参数进行优化(my.cnf),此...

  • Mysql的优化2018-05-24

    mysql优化的三个方向 1.linux内核的优化,一般交给运维做 2.改mysql的配置文件,配置参数优化,此优...

  • MySQL优化

    概述 MySQL优化分为三部分优化: MySQL服务器和配置优化 数据库设计和结构优化 查询优化(重点) MySQ...

  • 千万级MySQL数据库建立索引,提高性能的秘诀

    实践中如何优化MySQL 实践中,MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配置的优化...

  • MySQL优化

    MySQL优化这个话题比较“沉重”......大概可以从以下几个大的方向进行 1:物理机器、MySQL的配置优化(...

  • 第三个模块 MySQL5.7 通过binlog日志恢复数据

    论mysql5.7.13性能优化之索引优化 第一步:配置MySQL打开binlog日志 找到下面两行,将前面的#去...

  • Mysql配置优化

    https://www.cnblogs.com/benwu/articles/7717978.html

  • MySQL配置优化

    一、全局配置 (1)max_connections 最大连接数。默认值是151,最多2000。如果服务器的并发连接...

网友评论

      本文标题:Mysql配置优化

      本文链接:https://www.haomeiwen.com/subject/evvbpxtx.html