当前位置:首页 > 日记 > 正文

mysql5.6基本的优化配置

mysql5.6基本的优化配置
随着大量默认选项的改进,MySQL 5.6明显比以前版本需要调整。在本文中,我将描述需要优化的配置项。
InnoDB设置

1.innodb_buffer_pool_size,默认值是128M。这是最重要的优化选项,因为它指定使用InnoDB加载数据和索引的内存量(数据+指标)。根据特殊的MySQL服务器,该物理内存50-80%范围划定。例如,该机64GB的物理内存缓冲池应设置50GB。
如果设置的值较大,则可能存在风险。例如,内存不够,左为操作系统和MySQL的子系统(子系统),依靠文件系统缓存,包括二进制二进制(二进制日志),InnoDB事务日志(日志),等。

2.innodb_log_file_size,默认值为48m,需要增加这个值允许在较长一段时间的背景检查活动以提高性能非常高的系统吞吐率。流畅的写作,将此值设置为4G是非常安全的。过去的实践表明,日志文件太大,缺点是增加了修复所需的崩溃时间,但在5.5和5.6方面有了很大的改进。

3.innodb_flush_method,默认值是fdatasync。如果硬件RAID磁盘控制器的使用可能需要设置为o_direct。在读取InnoDB缓冲池可以防止双缓冲区(缓冲)的效果,否则会形成2份文件系统缓存和InnoDB缓存(复印件)。
如果你不使用硬件RAID控制器或使用SAN存储,o_direct可能导致性能退化。MySQL的用户手册和错误# 54306详细解释这一点。

4.innodb_flush_neighbors,默认值是1。SSD存储应该设置为0(禁用),因为使用IO命令没有任何性能增益。在某些硬件中,RAID也应该禁用此设置,因为在物理磁盘中逻辑上相邻的块不能保证它是连续的。

5.innodb_io_capacity和innodb_io_capacity_max:这些设置会影响进行每秒InnoDB在后台操作的数量。如果您了解硬件性能的深度(比如每秒执行IO操作的次数),那么使用这些函数是非常可取的,而不是让它空闲。
有一个很好的例子:如果没有一个类似的机票卖给一些人,那么后来的航班就起飞了,可能有一个好的策略来防止背部遭遇恶劣的天气。这样的机会将进行后台操作,以后的实时操作可能是一样的,以减少竞争。

有一个很简单的计算:如果每一个读写磁盘每秒(IOPS)可以达到200倍,RAID10磁盘阵列磁盘IOPS理论有10(10 / 2)= 1000。* 200 =我说这很简单,因为RAID控制器通常可以提供额外的整合,切实提高IOPS SSD磁盘IOPS可以达到上千的能力。

这两个值设置得太高可能会有一些风险,你当然不想干扰后台操作IO操作性能的任务。过去的经验表明,两值设置的太高,我们认为内部锁会导致性能降低(我在这mysql5.6了解到的信息有了很大的提高)。

innodb_lru_scan_depth -默认值是1024,这是介绍MySQL 5.6的新选择。Mark Callaghan提供了一些配置建议。简单的说,如果我们增加innodb_io_capacity价值,我们应该增加innodb_lru_scan_depth。同时。
复制(复制)

如果服务器是支持主从复制,或时间点恢复,在这种情况下,我们需要:

1.log-bin启用二进制日志。默认情况下,二进制日志不是安全的和意外的(不是崩溃安全的),但是正如我之前的文章所说,我建议大多数用户应该以稳定为目标。在这种情况下,您需要启用:sync_binlog = 1,sync_relay_log = 1,中继日志信息库=表和主信息库=表。

2.expire-logs-days --旧的日志将永远保留。我建议把它定为1-10天。节省时间没有多大用处,因为从备份中恢复要快得多。

3.server-id -复制拓扑中的所有服务器必须设置一个独特的server-id.

4。binlog_format =行修改复制基于。我最近写了另一篇文章,里面的复制,我真的很喜欢,因为它可以减少资源锁定提高性能。除了两附加设置开放:事务隔离= read-committed和innodb_autoinc_lock_mode = 2。

其他配置(杂项)

1。时区为GMT时区设置为格林尼治时间。系统管理员越来越多的建议,所有的服务器都设置为格林尼治时间(GMT)。这是我个人的爱好,因为现在几乎所有的企业都是全球性的。设置你的本地时区是任意的。

前2。字符集服务器= utf8mb4整理服务器= utf8mb4_general_ci如文中所述,UTF8编码是为了更好的新的应用程序的默认选项。您还可以设置跳过字符集客户端握手的其他单词,以忽略应用程序想要设置字符集(字符集)。

3.sql-mode -- MySQL是非常宽容的默认规则的数据和自动截断数据。在我以前的文章中,我提到了新的应用程序最好设置为:复制代码代码如下: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。

4.skip-name-resolve --禁止反向域名解析。DNS解析可能在某些系统上很慢/不稳定,所以如果您不需要基于主机名的授权,我建议避免这种解析。

5.max_connect_errors - Todd Farmer写道:这一功能提供保护免受暴力攻击没有实际意义的访问。事实上,当跳过名称解决设置,max_connect_errors甚至不工作。

防火墙是一个更合适的解决方案。通常我会筛选3306个端口,不管是公共网络还是内部网络端口。只有一个特定的应用程序可以访问和连接到MySQL…
我通常设置max_connect_errors = 100000,所以我可以避免双重化配置,确保不要紧。

6.max-connections -默认值是151。我看到很多用户设置他,大部分是在300到1000之间。
通常,这个值将不可避免地被设置。但我的紧张,16核的机器只有约2倍~ 10x连接执行能力的情况下,IO阻塞。
您可能希望许多打开的连接处于空闲状态并且处于休眠状态。但如果它们处于活动状态,它们可能会创建许多新线程(线程鞭打)。
如果条件允许,您可以为应用程序配置数据库连接池(连接池)来解决这个问题,而不是打开和维护大量连接;
当然,那些不使用非汇集、快速打开、并在完成任务后尽快关闭连接的人也是可行的。
从5.5开始的另一个解决方案(MySQL社区和企业版本之间有一些差异)是线程池插件的使用。
摘要(结论)

假设MySQL服务器的配置是:
1.64gb物理内存
2。硬件RAID控制器(假设IO高达2000 IOPS每秒)
三.需要主和从复制(复制)
4。新的应用程序(例如非遗留系统)
5。有防火墙保护
6。不需要基于域名的授权(主机名,主机名)
7。全局应用程序不希望在时区中进行修复。
8。希望程序是可靠的和稳定的(持久的)。

配置可以如下所示:
复制代码代码如下所示:
# InnoDB设置
innodb_buffer_pool_size = 50g
innodb_log_file_size = 2g
innodb_flush_method = o_direct
innodb_io_capacity = 2000
innodb_io_capacity_max = 6000
innodb_lru_scan_depth = 2000

#二进制日志/复制
Log-bin
sync_binlog = 1
sync_relay_log = 1
中继日志信息存储库=表
主信息存储库=表
expire_logs_days = 10
binlog_format =行
事务隔离= read-committed
innodb_autoinc_lock_mode = 2

#其他
GMT时区=
服务器= utf8字符集
整理服务器= utf8_general_ci
SQL模式=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
马克斯连接错误= 100000
最大连接数= 500

本机#独特
服务器id = 123

相关文章

替代方法的3个步骤使Win8系统安全

替代方法的3个步骤使Win8系统安全

系统安全,步骤,方法,详细说明,架构,点评:如果Win8系统要启用安全模式,使用WinXP和Win7的方式将不工作。怎么可以如果你不相信你的朋友可以试试使Win8系统的安全模式这是一个好方法,你可以参考下一个 朋友谁使用Win8系统知道Win8系统要启用安全…

字体的缺乏导致mse4.3非常难看的中

字体的缺乏导致mse4.3非常难看的中

中文字体,字体,难看,电脑软件,点评:MSE 4.3界面下的中国巨人丑实际上是由字体的缺乏造成的。我们需要做的是添加Win7,微软,YaHei,UI,V6.13最新字体。 微软发布了MSE 4.3.216官方下载,但许多Win7用户可能会发现这样一个问题:MSE 4.3接口下中国巨丑;…

计算机不能用缩略图看。

计算机不能用缩略图看。

不能用,缩略图,电脑软件,问题: 最近电脑有点问题,所有的图片都不能以缩略图的方式显示出来。在系统好之前,我杀了毒药,没有杀病毒,我不知道是什么原因 答案uff1a 除了病毒,只有一种可能:图标缓存文件错误。 解决方案,点击开始菜单,所有,然后选择程…

oracle数据库的建模与设计

oracle数据库的建模与设计

建模,数据库,电脑软件,oracle,Oracle当然你看到的是:谈论和Oracle数据库设计建模,开发一个基于数据库建模和设计的应用系统中,最关键的一步是基于数据库的整个系统,从物理学的逻辑,可怜的设计的一部分,基于整个应用系统像是破旧的房屋,随着不断深…

MySQL数据库混沌代码保存越南随机

MySQL数据库混沌代码保存越南随机

数据库,解决方案,混沌,越南,代码,我测试自己,许多字符变成。 数据库连接已经使用UTF8字符集: 复制代码代码如下所示: 定义(mysql_encode mysql_query(让名字。mysql_encode,美元Conn)或死亡(字符集设置错误。mysql_error()); 半个小时没做完了。 …

什么方法可以cpqdfwag.exe端cpqdfw

什么方法可以cpqdfwag.exe端cpqdfw

查询,方法,过程,电脑软件,exe,点评:cpqdfwag.exe是康柏的康柏计算机诊断程序。它开始与系统 进程文件:cpqdfwag或cpqdfwag.exe 进程名称:cpqdfwag 过程类别:安全风险的过程 英文描述: cpqdfwag.exe是过程与康柏诊断工具相关。它运行,实用,它也被…

Win8系统接入无线网络的密码(图)

Win8系统接入无线网络的密码(图)

系统,密码,无线网络,电脑软件,在Win8系统,你可以查看无线网络已经通过电脑连接密码。具体方法如下。 首先,按下Win + C组合键,然后单击显示在右侧的设置按钮;;(如图1),然后单击桌面下面的;;菜单;控制面板;把控制面板窗口;单击打开;。控制面板窗口,找到;;网络…

通过表键更改Oracle系统的名称

通过表键更改Oracle系统的名称

系统,名称,电脑软件,Oracle,您正在查看的Oracle过程是对Oracle系统外部密钥的重命名。 oracle中的外键是保证系统引用完整性的一种方法,引用完整性指的是分布在两个表中的约束关系,外键与两个表有关,父调用一个表,另一个称为子表。 父表是参考…

对于EvtEng的evteng.exe过程信息查

对于EvtEng的evteng.exe过程信息查

作用,信息查询,过程中,过程,电脑软件,点评:EvtEng.exe是一个evteng相关模块支持英特尔无线网络连接硬件 进程文件:EvtEng或evteng.exe 进程名称:英特尔evteng模块 过程类别:安全风险的过程 英文描述: evteng.exe是一个过程,属于evteng模块为你…

excel组合单元格的研究

excel组合单元格的研究

组合,单元格,电脑软件,excel,这种现象的步骤如下: 第一步:输入A1区域的数字,实际区域可以自行选择,数字也可以根据自己的喜好而丢失。 第二步是选择A1、A4区域,单击开始标签,在功能区、合并中心、命令按钮上单击在弹出对话框中,确认按钮完成单元…

手机使用wifi在线QQ总是掉3G在线QQ

手机使用wifi在线QQ总是掉3G在线QQ

在线,3G,电脑软件,wifi,QQ,问题: 我的摩托罗拉XT615手机使用WiFi上网,和1多分钟后,QQ会自动脱落。如果你使用3G上网,QQ没有滴出状况的原因是什么 答案uff1a QQ很容易掉下来wifi,这是一个问题设置: 手机设置后再找到WLAN,在高级选项中,选择休眠状…

暴风影音或电影卡顿现象(解决方案)

暴风影音或电影卡顿现象(解决方案)

解决方案,暴风影音,现象,电影,电脑软件,我们经常用暴风看电影或视频的机器,如果你遇到卡顿现象,参考下面的方法: 首先检查硬件配置太低,一般的台式机或笔记本电脑使用的显卡,看视频流畅;如果计算机用的是集成显卡,有时会出现卡顿现象。 其次,有太…