`

mysql 5.6 性能优化

阅读更多

原文:http://www.51ou.com/browse/msyql/58966.html

          http://www.cnblogs.com/littlehb/archive/2013/04/06/3001975.html

          http://www.jb51.net/article/52531.htm

          http://my.oschina.net/liting/blog/387489

 

http://www.jb51.net/article/50918.htm

 

http://zhidao.baidu.com/link?url=P8EQv_zNOq1LzuTuFDzSwDH6A9NJzm20YoBWwy4qIPWtFcEN9_Dq09h5rmFeQ57IMsku0qKo3RlfRAz0ZUQmX0OAFeeYQReMNimutbswiQ3 

 

 

配置如下:

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/var/lib/mysql/mysql.sock

 

port=3306

server_id=1

 

#innodb

user=mysql

#设定InnoDB缓存表数据和索引的内存缓冲区大小,一般设置为内存的50%左右

innodb_buffer_pool_size=6G

#默认值为 48M. 有很高写入吞吐量

innodb_log_file_size=2G

#InnoDB 存储引擎的事务日志所使用的缓冲区

innodb_log_buffer_size = 8M

#参数对于InnoDB存储引擎写入操作的性能

innodb_flush_log_at_trx_commit=2

#修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间

innodb_file_per_table=1

#限制Innodb能打开的表的数据

innodb_file_io_threads=4

#如果使用硬件RAID磁盘控制器, 需要设置为 O_DIRECT

innodb_flush_method=O_DIRECT

#设置会影响InnoDB每秒在后台执行多少操作

innodb_io_capacity=2000

innodb_io_capacity_max=6000

#这个参数必须要和innodb_io_capacity设置一样

innodb_lru_scan_depth=2000

#限制了一次有多少线程能进入内核,0表示不限制进入内核的数量,可以跟thread_concurrency一样

innodb_thread_concurrency = 8

#除了缓存表数据和索引外,可以为操作所需的其他内部项分配缓存来提升InnoDB的性能,这些内存就可以通过此参数来分配

innodb_additional_mem_pool_size=16M

#修改为基于行的复制

innodb_autoinc_lock_mode = 2

 

 

# Binary log/replication

#二进制日志

log-bin=mysql-bin

#为了在最大程序上保证复制的InnoDB事务持久性和一致性

sync_binlog=1

sync_relay_log=1

#启用此两项,可用于实现在崩溃时保证二进制及从服务器安全的功能

relay-log-info-repository=TABLE

master-info-repository=TABLE

#设置保存日志时间(单位为:天)

expire_logs_days=7

#行复制或混合复制值为(mixed) 

binlog_format=ROW      

#mysql数据库事务隔离级别有四种(READ UNCOMMITTED,READ COMMITTED,REPEATABLE READ,SERIALIZABLE)

transaction-isolation=READ-COMMITTED

 

#log-slave-updates这个参数用来配置从服务器的更新是否写入二进制日志,这个选项默认是不打开的,

#但是,如果这个从服务器B是服务器A的从服务器,同时还作为服务器C的主服务器,那么就需要开发这个选#项,这样它的从服务器C才能获得它的二进制日志进行同步操作

log-slave-updates=1

#禁止MySql对外部连接进行DNS解析,使用这一选项可以消除MySQL进行NDS解析的时间。但需要注意的是:如果开启该选项,则所有远程主机连

#接授权都要使用IP地址方式了,否则MYSQL将无法正常处理连接请求。

skip-name-resolve

#所有表明自动转换为小写

lower_case_table_names=1

#这个跳过1062  主键重复错误

slave-skip-errors=1062

 

 

#cache

#内部内存临时表的最大值

tmp_table_size=512M

#设置字符编码相关,

character-set-server=utf8

collation-server=utf8_general_ci

#如果是要支持ios、android等移动设备的特殊表情则需要设置另外的编码如下:

character-set-server=utf8mb4

collation-server=utf8mb4_general_ci

#即跳过外部锁定

skip-external-locking

#MySQL能暂存的连接数量(根据实际设置)短时间内的多少个请求可以被存在对堆栈中,

#如果系统短时间内有很多连接,则需>要增大该参数的值,

#该参数值指定到来的TCP/IP连接的监听队列的大小。

#不同的操作系统在这个队列的大小有自己的限制,

#如果试图将back_log设定得高于操作系统的限制将是无效的,

#其默认值为50,对于LINUX系统而言,推荐设置为小于512的整数。

back_log=384

#指定索引缓冲区的大小,只对MyISAM表起作用,这里写上也没有关系

key_buffer_size=1024M

#这条指令限定用于每个数据库线程的栈大小

thread_stack=256k

#当一个查询不断地扫描某一个表,MySQL会为它分配一段内存缓冲区

read_buffer_size=8M

#线程缓存

thread_cache_size=64

#查询缓存大小

query_cache_size=128M

#内部内存临时表的最大值,每个线程都要分配

max_heap_table_size=256M

#将查询结果放入查询缓存中

query_cache_type=1

#代表在事务过程中容纳二进制日志SQL语句的缓存大小

binlog_cache_size = 2M

#同样是缓存表大小

table_open_cache=128

#缓存线程

thread_cache=1024

#推荐设置为服务器 CPU核数的2倍

thread_concurrency=8

#指定一个请求的最大连接时间,对于4GB左右内在的服务器来说,可以将其设置为5-10

wait_timeout=25

#表和表联接的缓冲区的大小

join_buffer_size = 1024M

#是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存

sort_buffer_size=8M

#随机读取数据缓冲区使用内存

read_rnd_buffer_size = 8M

 

 #这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句

slow_query_log = 1

#当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。

long_query_time = 1

#这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。

log_queries_not_using_indexes = 1

#记录慢查询日志的文件名

slow_query_log_file=/data/mysql/log/slow-query.log

 

 

#connect

#是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码

max-connect-errors=20000

#连接数

max-connections=5000

#开启查询缓存

explicit_defaults_for_timestamp=true

#mysql服务器能够工作在不同的模式下,并能针对不同的客户端以不同的方式应用这些模式

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

分享到:
评论

相关推荐

    Mysql5.6性能优化

    MySql5.6性能优化.............................................................................................................................................................................

    mysql5.6性能优化总结

    mysql5.6性能优化总结

    MySql5.6性能优化1

    MySql5.6性能优化1

    mysql5.6性能优化

    合理安排资源、调整系统参数使MySQL运行更快、更节省资源。 优化是多方面的,包括查询、更新、服务器等。 原则:减少系统瓶颈,减少资源占用,增加系统的反应速度。

    MySql5.6性能优化.docx

    MySql5.6性能优化.docx

    MySql5.6性能优化最佳实践笔记 PDF版

    MySql5.6性能优化最佳实践笔记包含:了解什么是优化;掌握优化查询的方法;掌握优化数据库结构的方法;掌握优化 MySQL 服务器的方法

    redis集群jvm调优实战MySQL5.6性能优化&Tomcat7优化.rar

    redis集群jvm调优实战MySQL5.6性能优化&Tomcat7优化

    mysql5.6性能优化-Oracle公司

    oracle官方工作人员总结的mysql性能优化的技巧,详细介绍了几个方面,基础平台: 硬件, 存储引擎和版本

    mysql5.5-5.6性能调优最优文档

    mysql5.5-5.6InnoDB等详细调优文档

    MySql数据库性能优化

    MySql5.6性能优化。MySql5.6性能优化。MySql5.6性能优化。

    mysql 5.6 新特性

    全球 10 大最热门、流量最高的网站中有 9 家都依赖于 MySQL,这主要归功于其在各种不同平台和软件体系中的普遍应用以及众所周知绝佳的性能、可靠性和易用性。在此基础上,MySQL 5.6 进行了全方位的改进,旨在让富于...

    简化版MySQL5.6.51解压即用

    2021年1月20日,MySQL5.6发布了最后一个维护版本——5.6.51,从此,MySQL正式告别了5.6时代。 MySQL5.6于2013年正式发布(GA),它是MySQL一个非常重要的里程碑。 它在InnoDB,分区,Performance Schema,优化器和...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ │ │ MySql5.6性能优化.docx │ │ │ │ │ ├─Redis集群 │ │ │ redis-3.0.2.tar.gz │ │ │ redis-3.2.1.gem │ │ │ Redis集群.docx │ │ │ 集群架构.eddx │ │ │ │ │ └─Tomcat7优化 │ │ ...

    高性能MySQL(第3版).part2

    3.1性能优化简介67 3.1.1通过性能剖析进行优化69 3.1.2理解性能剖析71 3.2对应用程序进行性能剖析72 3.2.1测量PHP应用程序74 3.3剖析MySQL查询77 3.3.1剖析服务器负载77 3.3.2剖析单条查询81 3.3.3使用性能...

    Mysql DBA 教程 10套教程

    高性能mysql优化 打造扛得住的MySQL数据库架构(5.7 阿里大神讲授MySQL数据库运维(5.6) SQL语句完全掌握 MySQL数据库调优技术百万级数据库优化方案MySQL数据管理之备份恢复案例解析 MySQL数据查询优化技术(5.6,有...

    mysql-connector-java-5.1.25.zip

    MySQL Connector/J ...此外,MySQL Connector/J 5.1.25还包括了许多重要的错误修复和性能优化,使得它更加可靠和高效。如果你是Java程序员,使用MySQL数据库,那么MySQL Connector/J 5.1.25是你不可或缺的一个工具。

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    第二部分 故障诊断与性能优化篇 第3章 故障诊断 72 3.1 影响mysql性能的因素 72 3.2 系统性能评估标准 73 3.2.1 影响linux服务器性能的因素 73 3.2.2 系统性能评估指标 74 3.2.3 开源监控和评估工具介绍 76 ...

    大幅优化MySQL查询性能的奇技淫巧

    回顾 MySQL / InnoDB 的改善历史。你能很容易发现。在MySQL 5.6稳定版本中从来没有在read-only 这么快的提速,它很容易搞懂,以及在read-... InnoDB 团队通过不断的改进,强烈的推进优化着5.7这个版本的每秒的性能。

Global site tag (gtag.js) - Google Analytics