MYSQL5.5和5.6参数的差异

performance_schema 在 MySQL 5.6 中默认是开启的,但相关的很多参数相比 MySQL 5.5 却是降低了,例如 performance_schema 自动调整到 445 个表和 224 线程,比 MySQL 5.5 低。尽管默认 max_connections 只是 150 ,比 200 还小。

innodb_stats_on_metadata 在 MySQL 5.6 默认关闭,使得 information_schema 的查询速度快很多。

innodb_log_file_size – 默认值从 5MB 提升到 50MB,这是一个好的改变,虽然我觉得这个默认数值还可以再大些。对于写负载高的情况下,默认配置的 MySQL 5.6 性能更好。

back_log 改动比较小,从 50 改为 80。如果系统每秒处理的连接数很高,还需要继续提高这个配置的值。

open_files_limit 由原来的 1024 改为 5000

innodb_auto_extend_increment 由 8MB 改为 64MB,可帮助降低碎片。

max_connect_errors 从 10 改为 100,可降低潜在的连接堵塞,但还可以更高些。

sort_buffer_size 从 2M 将为 256K,这可避免小排序导致的资源浪费,但是对大的排序有负面的影响。

max_allowed_packet 从 1MB 改为 4MB 让 MySQL 可处理更大的查询。

join_buffer_size 从 128K 改为 256K,我觉得这个改动影响不大。

table_open_cache 从 400 提高到 2000,挺好!

innodb_buffer_pool_instances 从 1 改为 8,用于优化更高并发的负载。

query_cache_type 和 query_cache_size. The behavior is “no cache” by default still but it is achieved differently now. The query_cache_type is now off by default with default size of 1MB while in MySQL 5.5 and before it was “ON” by default with query cache size of 0 which makes it disabled. I wish query_cache_size though would be larger by default as value of 1M is too small to be practical if someone tries to enable it.

sql_mode has NO_ENGINE_SUBSTITUTION value by default which is good change as trying to create Innodb table but getting MyISAM because Innodb was disabled for some reason was very error prone gotcha. Note this is as far as MySQL 5.6 goes - STRICT_MODE and other safer behaviors are not enabled by default.

innodb_old_blocks_time 设置为 1000,很好的改变,默认扫描 InnoDB 缓冲池大小。

thread_cache_size 默认启用,对很多连接和断开连接操作的情况下有帮助。

sync_relay_log_info and sync_master_info 默认值有原来的 0 改为 10000. 该改动几乎不会影响负载。

secure_auth 默认开启,要求新的密码握手,特别是阻止老的不安全的做法,很好!

innodb_concurrency_tickets has been increased from 500 to 5000. If you’re using innodb_thread_concurrencythis will reduce overhead associated with grabbing and releasing innodb_thread_concurrency slot but will increase potential starvation of queued threads especially for IO bound workloads. Most users will not be affected though as innodb_thread_concurrency is 0 by default so this queuing feature is disabled.

innodb_purge_threads 默认为 1 ,使用专用的后台 purge 线程,好!

innodb_open_files 由 300 改为 2000,好!

innodb_data_file_path got a small change with starting ibdata1 size raised from 10M to 12M. I’m not sure what is the purpose of this change but it is unlikely to have any practical meaning for users. Considering the defaultinnodb_auto_extend_increment is 64 starting with 64M might have made more sense.

innodb_purge_patch_size 从 20 改为 300.

innodb_file_per_table 默认启用,这个改变很大,而且很棒。特别是当你的表非常大的时候。

optimizer_switch is the catch all variable for a lot of optimizer options. I wonder why was not it implemented as number of different variables which would make more sense in my opinion. MySQL 5.6 adds a lot more optimizer switches which you can play with:

01 mysql [localhost] {msandbox} (test) > select from var55 wherevariable_name=‘OPTIMIZER_SWITCH‘ \G
02 *************************** 1. row ***************************
03  VARIABLE_NAME: OPTIMIZER_SWITCH
04 VARIABLE_VALUE: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
05 1 row in set (0.00 sec)
06  
07 mysql [localhost] {msandbox} (test) > select from var56 wherevariable_name=‘OPTIMIZER_SWITCH‘ \G
08 *************************** 1. row ***************************
09  VARIABLE_NAME: OPTIMIZER_SWITCH
10 VARIABLE_VALUE: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on
11 1 row in set (0.00 sec)

MYSQL5.5和5.6参数的差异

时间: 2024-12-16 17:57:52

MYSQL5.5和5.6参数的差异的相关文章

MySQL5.7安装过程以及参数和设置说明

最近在讲MySQL课程,为了省事就在用MySQL5.5版本.因为win10不论32还是64都可以运行MySQL32位.可有很多使用者了解MySQL官网之后,去下载最新版的MySQL来使用,这点我不反对,但问题是一下子安装了一堆东西.我们仅仅需要一个MySQL数据库即可,其他都是不需要.于是找时间编写一个关于最新版MySQL的安装教程. 准备工作 1.MySQL的安装文件一个(如,mysql-installer-community-5.7.10.0.msi)2.纸质笔记本一个(便于记录参数和关键步

MySQL5.7应当注意的参数

简介: 本篇文章主要介绍 MySQL 初始化应当注意的参数,对于不同环境间实例迁移,这些参数同样应当注意. 注: 本文介绍的参数都是在配置文件 [mysqld] 部分. server_id 和 log_bin ,binlog_format 这几个系统变量通常成对出现,当我们想指定log_bin 选项时,必须也要指定server_id . log_bin 是全局变量 不可动态修改 默认为OFF.当我们需要开启binlog时,可将该参数设为binlog名字或绝对路径加名字. binlog_forma

MySQL5.7 my.cnf常用参数、调优参数及常用语句

首次登陆修改root密码mysql>use mysql;mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 更改用户密码mysql>update user set authentication_string=password('new password') where user='root'; mysql>flush privileges; ###刷新权限表 编辑/etc/my.cnf [mysqld]datadi

Linux MySQL5.5源码安装

环境:CentOS7,MySQL5.5 1.MySQL5.5源码下载 Oracle的网站打开较慢,http://mirrors.sohu.com/mysql/这里提供了MySQL的镜像.一般的,Linux的程序安装有两种方式:A利用RPM,YUM等工具 B手动安装.其中手动安装又有两种方式,一种是直接下载已经编译好的二进制文件,另一种是下载源码手动编译.我们这里尝试下载源码手动编译的方式. 如何区分下载文件列表的文件是已编译好的二进制文件,还是源码文件: A.文件大小.由于从源码编译为二进制文件

MySQL5.0 与MySQL5.5 主从复制 常见问题处理方法

从5.0版本的数据库中打包数据到5.5版本中,然后做主从同步时遇到的问题及解决方案 以下操作在5.5版本的数据上执行 1.mysql当执行flush privileges刷新用户权限命令报出ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist这样测错误 CREATE TABLE `servers` ( `Server_name` char(64) NOT NULL, `Host` char(64) NOT NULL,`Db` char(6

一分钟完成MySQL5.7安装部署

Part1:写在最前 MYSQL5.7.15是截止至本文撰写当日,mysql官网的最新社区版,mysql5.7的多项功能优化可以用激动人心来形容,嫌安装麻烦?没关系,跟着本文,带你1分钟搞定MySQL5.7.15数据库安装部署. Part2:仅仅安装就够了? 不,当然不够,MySQL5.7的多项功能特性更新,无法一一赘述,因此,我们先从和本文最相关的my.cnf,来解读一些MySQL5.7的部分新特性. 在之前我写过一篇MySQL5.6的新特性参数,诸如: innodb_buffer_pool_

Mysql配置参数常见问题

Mysql安装时进行初始化安装,最长碰到的问题就是配置参数兼容性的问题,因为数据库的参数发生改变,导致数据库无法识别的情况很让人头疼,好在有官方文档的指引,才能解决这类问题的发生 当前广泛应用的是mysql5.5以上版本,这里以5.6为例,一下包含了所有mysql5.6在使用的参数: http://dev.mysql.com/doc/refman/5.6/en/mysqld-option-tables.html 比如如下的报错: [Warning] TIMESTAMP with implicit

MySQL5.7安装部署

简介 Part1:写在最前 MYSQL5.7.15是截止至本文撰写当日,mysql官网的最新社区版,mysql5.7的多项功能优化可以用激动人心来形容,嫌安装麻烦?没关系,跟着本文,带你1分钟搞定MySQL5.7.15数据库安装部署. Part2:仅仅安装就够了? 不,当然不够,MySQL5.7的多项功能特性更新,无法一一赘述,因此,我们先从和本文最相关的my.cnf,来解读一些MySQL5.7的部分新特性. 在之前我写过一篇MySQL5.6的新特性参数,诸如: innodb_buffer_po

Centos7 编译安装mysql5.6

安装目录:/usr/local/mysql5.6 数据库目录 : /data/mysql/data mysql安装包:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz 添加用户: useadd -s  /sbin/nologin mysql 建立所需目录: mkdir -p /data/mysql/data chown -R   mysql:mysql /data/mysql 安装编译mysql所需的程序或文件: y