mysql配置优化

max_connections MySQL所允许的的同时会话数 Error: Too many connections
max_connect_errors 最大错误(连接类)允许数,会引发FLUSH HOSTS重启服务
key_buffer_size 关键词缓冲区大小,缓存MyISAM索引块,决定索引处理速度,读取索引处理速度
max_allowed_packet 设置最大包,限制server结束数据块大小,避免超长SQL执行,Error: 信息包过大 关闭连接。 如果客户端遇到丢失与MySQL连接的报错,检查这个选项。
thread_cache_size 服务器线程缓存
thread_concurrency 默认为CPU核数X2,设置错误的话影响MySQL利用多核处理器性能
sort_buffer_size 每个连接需要使用buffer时分配的内存大小,不是越大越好。例:1000个连接,一个1MB,会占用1GB内存,200WX1MB=20GB
join_buffer_size join表使用的缓存大小,一般默认,不重设
query_cache_size 查询缓存大小,再查询时返回缓存,缓存期间表必须没有被更改,否则缓存失效,多写入操作的话设置大了会影响写入效率
read_buffer_size MyISAM引擎下全表扫描的缓冲大小。如果无法添加索引时还要全表扫描,增大这个值进行优化
read_rnd_buffer_size 从排序好的数据中读取行时,行数据从缓冲区读取的大小,会提升order by性能 注意:MySQL会为每个客户端申请这个缓冲区,并发过大时,设置过大影响内存开销
myisam_sort_buffer_size MyISAM表发生变化时,重新排序所需的缓存
innodb_buffer_pool_size InnoDB 使用缓存保存索引,保存原始数据的缓存大小,可以有效减少读取数据所需的磁盘IO
innodb_log_file_size 数据日志文件大小,大的值可以提高性能,但增加了恢复故障数据库的时间(恢复故障数据库时需要读取数据日志文件,当日志过大会导致时间过长)
innodb_log_buffer_size日志文件缓存,增大该文件可以提高性能,但增大了忽然宕机后损失数据的风险(日志文件在缓存中,还没来得及存进硬盘就断电了)
innodb_flush_log_at_trx_commit 执行事务的时候,会往InnoDB存储引擎的日志缓存插入事务日志,写数据前先写日志(预写日志方式)设置为0,实时写入;当设置为1时,缓存实时写入磁盘;2时,缓存实时写入文件,每秒文件实时写入磁盘
innodb_lock_wait_timeout 被回滚前(当一个事务被撤销时),一个InnoDB事务,应该等待一个锁被批准多久,当InnoDB无法检测死锁时,这个值就有用了
总结:buffur_size大了,可以提高性能,但是占用相应的内存。

时间: 2024-08-08 05:36:02

mysql配置优化的相关文章

linux系统下mysql配置优化初学习入门

学习mysql 一段时间了,在mysql配置优化方面做一下总结,mysql优化要考虑到多方面,多因素.与服务器的硬件,当前运行的环境都息息相关.下面来说一下mysql的配置优化: [client] port = 3306 socket = /tmp/mysql.sock    [mysqld] port = 3306 socket = /tmp/mysql.sock   basedir = /usr/local/mysql datadir = /data/mysql pid-file = /da

4G内存服务器的MySQL配置优化

公司网站访问量越来越大(日均超10万PV),MySQL自然成为瓶颈,关于 MySQL 的优化,最基本的是 MySQL 系统参数的优化. MySQL对于web架构性能的影响最大,也是关键的核心部分.MySQL的设置是否合理优化,直接影响到web的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进行判断,然后设置合理的参数. 下面我们了解一下MySQL优化的一些基础,MySQL自身(my.cnf)的优化. 我们介绍一

MySQL 配置优化

下面列出了对性能优化影响较大的主要变量,主要分为连接请求的变量和缓冲区变量. 1.   连接请求的变量: 1)     max_connections MySQL的最大连接数,增加该值增加mysqld 要求的文件描述符的数量.如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值. 数值过小会经常出现ERROR 1040: Too m

mysql配置优化浅谈(一)

MySQL对于web架构性能的影响最大,也是关键的核心部分.MySQL的设置是否合理优化,直接影响到web的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验进行判断,然后设置合理的参数. 下面我了解一下MySQL优化的一些基础,MySQL自身(my.cnf)的优化. 这里我介绍一些对性能影响较大的参数. 由于my.cnf文件的优化设置是与服务器硬件配置息息相关的,因而我们指定一个常见2U的服务器硬件环境:CPU:

Mysql配置优化,库表设计

Mysql 服务器参数类型: 基于参数的作用域: 全局参数:set global autocommit = ON/OFF; 会话参数(会话参数不单独设置则会采用全局参数):set session autocommit = ON/OFF; 注意:全局参数的设定对于已经存在的会话无法生效,会话参数的设定随着会话的销毁而失效全局类的统一配置建议配置在默认配置文件中,否则重启服务会导致配置失效. 寻找配置文件不迷路: mysql --help 寻找配置文件的位置和加载顺序 Default options

MySQL配置优化选项

[mysqld] port                    = 3306 默认为3306 user                    = mysql datadir                 = /data/mysql 默认为/var/lib/mysql/ tmpdir                  = /dev/shm 默认为/tmp slave-load-tmpdir       = /tmp 官方文档中slave_load_tmpdir的解释:从服务器为复制LOAD D

MySQL配置优化(一)——慢查日志

(1) ERRLOG 包含了当mysqd启动和停止时,以及服务器在运行过程中发生任何严重错误时的相 关信息: 可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置.如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件: # * Logging and Replication # Both location gets rotated by the cronjob. # Be aware tha

MySQL通用优化技巧 | Ucloud运维在线微信群分享

MySQL通用优化技巧 | Ucloud运维在线微信群分享 2015-09-17 MySQL中文网 本文根据DevOps华南运维圈@UCloud微信群「大话运维」的嘉宾分享整理而成.「大话运维」将邀请业界运维前线技术专家作为分享嘉宾,分享技术趋势和技术实战,为运维朋友提供各种踩坑.躲坑.绕坑新技能. 嘉宾介绍 叶金荣Oracle MySQL ACE,国内最早的MySQL推广者.2006年创办国内首个MySQL专业技术网站 MySQL 中文网.资深MySQL专家,10余年MySQL经验,擅长Mys

MySQL数据库优化技术概述

对于一个以数据库为中心的应用,数据库的优化直接影响到程序的性能,因此数据库性能至关重要.一般来说,要保证数据库的效率,要做好以下几个方面的工作: 1. 数据库表设计: 表的设计合理化(符合3NF): 2. 添加适当索引(index): 普通索引: 主键索引: primary 效率最高,但是只能有一个 唯一索引:unique 全文索引:fulltext 对文章中的词进行索引 空间索引:SPATIAL 很少使用 3. 分表技术: 水平分割 垂直分割 4. 读写分离: 写:update/delete/