mysql需要调整的参数

Mysql需要调整的参数

#以 mysql 5.6版本示例讲解

 

一、Innodb设置

innodb_buffer_pool_size:保存innodb数据和索引在该buffer中,

对专用mysql服务器,推荐50-80%物理内存大小,

如 5-6GB (8GB RAM), 20-25GB (32GB RAM),

100-120GB(128GB RAM) 。

innodb_log_file_size:  控制redo日志的大小,redo日志可以加速写,

持久性和crash恢复。通常使用两个文件,mysql 5.5总的redo日志限制为4GB,对写负载型的应用,应该增加该值,使后台检查点活动减少,提高性能,如4G左右,太大将使故障恢复需要更长的时间。

innodb_flush_method:   控制数据和日志怎样刷新到磁盘,如果使用了RAID控制器,

应该使用O_DIRECT。

innodb_flush_neighbors:如果是SSD可以关闭,对连续IO没有任何性能改善。

innodb_io_capacity和innodb_io_capacity_max:设置每秒有多少后台线程工作,

根据硬件的能力进行设置。

innodb_lru_scan_depth:如果增加innodb_io_capacity,也要增加该值

innodb_file_per_table:设置为ON,每个表使用独立的.ibd文件存储数据和索引,允许当dropping、truncating或rebuilding表时回收再利用剩余空间,也能支持扩展的特性如压缩。

innodb_flush_log_at_trx_commit:默认为1,意味着Innodb是完全遵守ACID特性,刷新每个改变到redo日志;设置为2,每秒刷新一次;0更快,但是在crash时将丢失一些数据。

innodb_log_buffer_size:    事务日志buffer,当有大的blob/text字段时,可以考虑提高该值,以免产生额外的I/O负载。通过观察Innodb_log_waits状态变量,如果非0,将增大该值。

二、复制

log-bin:    启用二进制日志,默认不是crash安全的,根据业务情况进行设置,

如果需要持久性,需要开启sync_binlog=1,sync_relay_log=1,

relay-log-info-repository=TABLE和master-info-repository=TABLE

或sync_relay_log_info=1和sync_master_info=1。

expire-log-days:   推荐1-10天

server-id:      在主从复制环境,每个服务器需要有唯一的server-id

binlog_format=ROW:    使用基于行的复制,提高性能,减少锁。同时需要设置

transaction-isolation=READ-COMMITIED,

innodb_autoinc_lock_mode=2

三、混合参数

timezone=GMT:适合全球化

character-set-server=utf8mb4

collation-server=utf8mb4_general_ci:utf8    #是更好字符集的格式,

也可以设置skip-character-set-client-handshake

忽略应用程序设置的字符集

sql-mode:     #默认是宽容的,会静默的截断数据,应该更好的设置

STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,

NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,

NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY

skip-name-resolve:对进来的连接禁用域名反向查找,禁止使用主机名进行授权,

必须使用IP地址进行授权

max_connect_errors:设置成100000,因使用防火墙阻止访问攻击

max-connections:   建议300-500,推荐不要太高,建议使用应用连接池,或者mysql线程池

query_cache_size: 关闭该选项,使用另外的方式,如好的索引、使用复制分担读负载,或使用外部cache机制(memcached、redis)提高性能。

时间: 2024-10-14 09:45:27

mysql需要调整的参数的相关文章

数据库相关文章转载(1) MySQL性能优化之参数配置

1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目前安装状况. MySQL目前安装,用的是MySQL默认的最大支持配置.拷贝的是my-huge.cnf.编码已修改为UTF-8.具体修改及安装MySQL,可以参考<<Linux系统上安装MySQL 5.5>>帮助文档. 4.修改MySQL配置 打开MySQL配置文件my.cnf vi  

MySQL之——新安装的MySQL必须调整的10项配置(插曲)

     转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46324419 还在为新安装的mysql服务,不知道修改哪些默认配置而发愁吗?mysql可调整参数有100多个,到底要立即!马上!调整哪些最重要的参数? 这篇文章主要介绍了MySQL优化必须调整的10项配置,使用这些方法可以让你快速地获得一个稳健的MySQL配置,需要的朋友可以参考下: 当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些

新安装的MySQL必须调整的10项配置

还在为新安装的mysql服务,不知道修改哪些默认配置而发愁吗?mysql可调整参数有100多个,到底要立即!马上!调整哪些最重要的参数? 网络神贴答复你: 这篇文章主要介绍了MySQL优化必须调整的10项配置,使用这些方法可以让你快速地获得一个稳健的MySQL配置,需要的朋友可以参考下: 当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议.许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项.这篇文章的目的在于给你一份非

Mysql性能优化之参数配置(转)

Mysql作为数据库中广泛应用的开源产品,需要面对不同的生产压力,而有些问题通过优化就可以解决,优化可以分为几个方向:1.优化参数配置.2.优化数据库索引.3.优化数据库结构,如分区分表等等.本篇着重介绍数据库的参数优化原则与方式方法. 1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目前安装状况. MySQL目前安装,用的是MySQL默认的最大支

查看mysql连接状态各类参数

命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show processlist; 命令: show status; 命令:show status like '%下面变量%'; Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量. Aborted

mysql字符集调整总结

mysql字符集调整总结 --http://xjsunjie.blog.51cto.com/999372/1355013 字符集是一套符号和编码的规则,不论是在oracle数据库还是在mysql数据库,都存在字符集的选择问题.对于数据库来说,字符集又是比较重要的,因为数据库存储的数据大部分都是各种文字,字符集对于数据库的存储.处理性能以及数据迁移都有重要的影响. 如果在数据库创建阶段没有正确选择字符集,那么可能在后期需要更换字符集,而字符集的更换是代价比较高的操作,也存在一定的风险,所以我们建议

MySQL必须调整的10项配置mysql优化

from:http://www.opsers.org/server/10-configuration-mysql-mysql-must-adjust-optimization.html 大多数配置能在运行时使用SET GLOBAL改变.这是非常便捷的方法它能使你在出问题后快速撤销变更.但是,要永久生效你需要在配置文件里做出改动. 一个变更即使重启了MySQL也没起作用?请确定你使用了正确的配置文件.请确定你把配置放在了正确的区域内(所有这篇文章提到的配置都属于 [mysqld]) 服务器在改动一

Mysql一些重要配置参数的学习与整理(二)

原文地址:Mysql一些重要配置参数的学习与整理(二) 上一篇,Mysql一些重要配置参数的学习与整理(一)中,我们了解和学习了mysql配置中的一些重要参数,今天继续进行学习,mysql的配置参数很多,不可能做到面面俱到,这里的总结和整理只是针对于现实生产环境中用到的一些配置参数的学习,接下来,开始本篇的学习.    innodb_flush_log_at_trx_commit = 2        这个变量的官方定义是:Controls the balance between strict

Mysql一些重要配置参数的学习与整理(三)?

原文地址:Mysql一些重要配置参数的学习与整理(三) 之前的Mysql一些重要配置参数的学习与整理(一)和Mysql一些重要配置参数的学习与整理(二)中,对于线上mysql服务器的一些配置参数进行了学习,不过参阅官方doc后对其中的一些参数的配置的理解不是很清晰,今天与同事进行了交流和沟通,都一些重要的配置交换了意见,本篇就对其中的一些疑问点,整理一下心得.     skip-external-locking作用     在Mysql Linux 的发行版中,默认存在一行skip-extern