设为首页 收藏本站
查看: 727|回复: 0

[经验分享] MySQL性能优化配置/etc/my.cnf参数

[复制链接]

尚未签到

发表于 2018-9-30 12:39:27 | 显示全部楼层 |阅读模式
[client]  
port = 3306
  
socket = /var/lib/mysql/mysql.sock
  
default-character-set = utf8
  

  
[mysql]
  
no-auto-rehash          #仅允许使用键值的updates和deletes
  

  
[mysqldump]
  
quick
  
max_allowed_packet = 64M
  

  
[mysqld]
  
basedir = /usr/local/mysql
  
datadir = /var/lib/mysql
  
port = 3306
  
socket = /var/lib/mysql/mysql.sock
  

  
server-id = 1
  
log-bin = /data/mysql/binlog/mysql-bin
  
relay-log = /data/mysql/binlog/mysql-relay-bin
  
binlog-cache-size = 4M          #设置二进制日志缓存大小
  
max_binlog_cache_size = 8M      #最大的二进制Cache日志缓冲尺寸
  
max_binlog_size = 1G            #单个二进制日志文件的最大值,默认1G,最大1G
  
sync-binlog = 1                 #每隔N秒将缓存中的二进制日志记录写回硬盘
  
binlog_format = mixed          #二进制日志格式(mixed、row、statement)
  
#log_slave_updates = 1          #从服务器从主服务器收到的更新记入到从服务器自己的二进制日志文件中
  
expire_logs_days = 30           #二进制日志文件过期时间
  
replicate-wild-do-table=testdb1.%
  
replicate-wild-do-table=testdb2.%
  
replicate-wild-do-table=testdb3.%
  

  
log-error = /data/mysql/log/mysql_error.log     #错误日志文件路径
  
back_log = 384                  #指出在MySQL暂时停止响应新请求之前,短时间内的多少个请求
  
character-set-server = utf8     #默认字符集
  
external-locking = FALSE        #避免外部锁定(减少出错几率,增加稳定性)
  
skip-name-resolv                #禁止外部连接进行DNS解析
  
thread_concurrency = 32         #CPU核数的两倍
  
default-storage-engine=InnoDB   #默认表的类型为InnoDB
  
transaction_isolation = READ-COMMITTED  #事务隔离级别
  

  
open_files_limit = 65535        #Mysql能打开文件的最大个数
  
max_connections = 5000          #指定MySQL允许的最大连接进程数
  
max_connect_errors = 6000       #设置每个主机的连接请求异常中断的最大次数
  
max_allowed_packet = 16M        #服务器一次能处理的最大的查询包的值
  
wait_timeout = 120              #指定一个请求的最大连接时间
  
interactive_timeout = 8         #连接保持活动的时间
  
thread_stack = 192K             #设置Mysql每个线程的堆栈大小,默认值足够大,可满足普通操作
  

  
long_query_time = 2             #指定多少秒未返回结果的查询属于慢查询
  
#slow_query_log = on            #开启慢查询
  
#slow_query_log_file = /data/mysql/slow.log     #指定慢查询日志文件路径
  
#log-queries-not-using-indexes  #记录所有没有使用到索引的查询语句
  
#min_examined_row_limit = 1000  #记录那些由于查找了多余1000次而引发的慢查询
  
#log-slow-admin-statements      #记录那些慢的OPTIMIZE TABLE,ANALYZE TABLE和ALTER TABLE语句
  
#log-slow-slave-statements      #记录由slave所产生的慢查询
  

  
table_open_cache = 512          #设置高速缓存表的数目
  
tmp_table_size = 64M            #设置内存临时表最大值
  
max_heap_table_size = 64M       #独立的内存表所允许的最大容量
  
thread_cache_size = 64          #服务器线程缓存数,与内存大小有关(建议大于3G设置为64)
  
#query_cache_size = 32M          #指定MySQL查询缓冲区的大小
  
query_cache_limit = 2M          #只有小于此设置值的结果才会被缓存
  
query_cache_min_res_unit = 2k   #设置查询缓存分配内存的最小单位
  

  
key_buffer_size = 32M           #指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能
  
sort_buffer_size = 2M           #设置查询排序时所能使用的缓冲区大小,系统默认大小为2MB
  
join_buffer_size = 2M           #联合查询操作所能使用的缓冲区大小
  
read_buffer_size = 4M           #读查询操作所能使用的缓冲区大小
  
read_rnd_buffer_size = 16M      #设置进行随机读的时候所使用的缓冲区
  
bulk_insert_buffer_size = 8M    #若经常使用批量插入的特殊语句来插入数据,可以适当调整参数至16MB~32MB,建议8MB
  

  
myisam_sort_buffer_size = 64M
  
myisam_max_sort_file_size = 10G
  
myisam_repair_threads = 1
  
myisam_recover                  #自动检查和修复没有适当关闭的MyISAM表
  

  
innodb_additional_mem_pool_size = 16M   #设置InnoDB存储的数据目录信息和其他内部数据结构的内存池大小
  
innodb_buffer_pool_size = 128M          #InnoDB使用一个缓冲池来保存索引和原始数据
  
innodb_file_io_threads = 4              #InnoDB中的文件I/O线程,通常设置为4
  
innodb_thread_concurrency = 8           #服务器有几个CPU就设置为几,建议用默认设置,一般设为8
  
innodb_flush_log_at_trx_commit = 2      #设置为0就等于innodb_log_buffer_size队列满后再统一存储,默认为1
  
innodb_log_buffer_size = 16M    #默认为1MB,通常设置为6-8MB就足够
  
innodb_log_file_size = 128M     #确定日志文件的大小,更大的设置可以提高性能,但也会增加恢复数据库的时间
  
innodb_log_files_in_group = 3   #为提高性能,MySQL可以以循环方式将日志文件写到多个文件。推荐设置为3
  
innodb_max_dirty_pages_pct = 90 #InnoDB主线程刷新缓存池中的数据
  
innodb_lock_wait_timeout = 120  #InnoDB事务被回滚之前可以等待一个锁定的超时秒数
  
innodb_file_per_table = 0       #InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间,0关闭,1开启



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-606740-1-1.html 上篇帖子: MySQL登录报错-ERROR 1045 (28000) 下篇帖子: Windows平台使用Navicat for MySQL通过SSH密钥认证连接远程MySQL数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表