Mysql配置项的简单优化
preface
众所周知,Mysql已经成为广泛使用的开源数据库了,so 公司阿里云的数据库为Mysql,在最开始的时候是直接yum安装,配置项都是默认的,没有任何调整,这次有时间就参考各路大神的资料,把公司的mysql给优化了下。
优化配置项
我们需要关注下面几个配置项,如果忽略了他们,那么会很快遇到性能问题。
innodb_buffer_pool_size
在使用innodb引擎的环境中,在安装完后,这个是第一个需要关注的配置项。缓冲池是数据和索引被缓存的地方,这个值要尽可能的大。典型的配置是5-6GB(8GB RAM),20-2GB(32GB RAM),100-120GB(128GB RAM)。 例如innodb_buffer_pool_size=4G,默认是128Minnodb_log_file_size:
redo log的大小,redo log被用来保证写入的速度和故障恢复。建议设置为innodb_log_file_size=512MB,但对于频繁的数据库,这个值应该调整为innodb_log_file_size=4GB.max_connections:
默认是151个连接数,如果设置过大的话(1000或者以上),Mysql请求数会很大的,那么它可能会失去响应,容易报Too many connections的错误。
关于Innodb存储引擎的优化
innodb_file_per_table:
用于控制不同的表是否使用独立的.ibd文件。设置为on时,它可以在丢弃或者截断表时能够回收存储空间。在Mysql5.6版本以后,这个值默认就是on。因此需要在5.6版本以前的进行设置,设置后仅仅对新创建的表有效。innodb_flush_log_at_trx_commit:
默认值是1,意味着Innodb是与ACID完全兼容的,如果考虑数据安全性第一需求的话,那么就要把这个值设置为1。在开启之后,额外的系统fsync调用对低速硬盘来说,是一个巨大的系统开销。设置为2时,在数据安全性方面稍微下降,因为此时每隔1s才把事务写入redo log中。在某些数据完整性要求不高的情况下,可以设置为2或者为0.query_cache_size:
建议一开始就设置为0,完全禁用查询缓存。slow_query_log:
设置为1,表示启用满查询日志。慢查询日志是记录执行时间超过指定时间(long_query_time)的Mysql查询,是分析和优化Mysql的最重要的文件。long_query_time:
默认值为10,建议修改为1,在大部分应用中,超过1s的查询基本可以判断为需要关注的执行语句。slow_query_log_file:
指定慢查询日志的记录文件位置。
Mysql配置项的简单优化的更多相关文章
- [mysql] 2进制安装和简单优化
##################################mysql 2进制安装和简单优化################################################## ...
- [评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)
[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲 ...
- mysql的简单优化【简单易学】
1.选取最适用的字段属性: 表字段尽量设小,不要给数据库增加没必要的空间:如:值为'01'.'02',给char(2)即可: 2.使用连接(JOIN)来代替子查询(Sub-Queries): 使用jo ...
- mysql简单优化思路
mysql简单优化思路 作为开发人员,数据库知识掌握的可能不是很深入,但是一些基本的技能还是要有时间学习一下的.作为一个数据库菜鸟,厚着脸皮来总结一下 mysql 的基本的不能再基本的优化方法. 为了 ...
- mysql简单优化的一些总结
mysql对cpu的利用特点: 5.1之前,多核支持较弱:5.1可利用4个核:5.5可利用24核:5.6可利用64个核:每个连接对应一个线程,每个并发query只能使用一个核 mysql对内存的利用特 ...
- mysql之优化器、执行计划、简单优化
mysql之优化器.执行计划.简单优化 2018-12-12 15:11 烟雨楼人 阅读(794) 评论(0) 编辑 收藏 引用连接: https://blog.csdn.net/DrDanger/a ...
- [MySQL Reference Manual] 8 优化
8.优化 8.优化 8.1 优化概述 8.2 优化SQL语句 8.2.1 优化SELECT语句 8.2.1.1 SELECT语句的速度 8.2.1.2 WHERE子句优化 8.2.1.3 Range优 ...
- MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术
逻辑查询优化包括的技术 1)子查询优化 2)视图重写 3)等价谓词重写 4)条件简化 5)外连接消除 6)嵌套连接消除 7)连接消除 8)语义优化 9)非SPJ优化 一.子查询优化 1. ...
- 101个MySQL 的调节和优化的提示
MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是101条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些思 ...
随机推荐
- VS2013无法链接到TFS(Visual studio online),错误TF31001,TF31002
TF31002: Unable to connect to VisualStudio Online with VS 2013 but I can using web access - Windows ...
- Maven的生命周期和插件
首先解释下maven build等 Maven build是这个插件让你自己去配置执行目标的.Maven clean 清除上一次Maven执行的结果Maven generate-sources会根据p ...
- 【BZOJ 3053】The Closest M Points
KDTree模板,在m维空间中找最近的k个点,用的是欧几里德距离. 理解了好久,昨晚始终不明白那些“估价函数”,后来才知道分情况讨论,≤k还是=k,在当前这一维度距离过线还是不过线,过线则要继续搜索另 ...
- poj1523 求割点 tarjan
SPF Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7678 Accepted: 3489 Description C ...
- oracle创建表之前判断表是否存在,如果存在则删除已有表
Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id int NOT NULL ...
- mysql-函数CASE WHEN 语句使用说明
mysql数据库中CASE WHEN语句. case when语句,用于计算条件列表并返回多个可能结果表达式之一. CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以 ...
- 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox
介绍背水一战 Windows 10 之 控件(文本类) RichTextBlock RichTextBlockOverflow RichEditBox 示例1.RichTextBlock 的示例Con ...
- Lucene学习笔记
师兄推荐我学习Lucene这门技术,用了两天时间,大概整理了一下相关知识点. 一.什么是Lucene Lucene即全文检索.全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明 ...
- Mysql将近两个月的记录合并为一行显示
最近做报表统计,用到要求把近两个月的绩效作比较,并作出一些环比数据等. 场景:将1班同学的两个月的语文的平均成绩合并到一行比较. CREATE TABLE `Chinese_score` ( `id` ...
- 小记-虚拟机装ubuntu遇到问题
今天用虚拟机virtualbox装ubuntu遇到了一个问题,如图 解决方法: 1.首先查看创建虚拟机的时候是基本设置有没有对:(如图) 主要去看所选择的版本对应是否正确,比如32位和64位之类的. ...