MySQL5.7的参数优化
https://www.cnblogs.com/zhjh256/p/9260636.html
query_cache_size = 0
query_cache_type=0
innodb_undo_tablespaces=16(需初始化mysql时命令行中先包含)
innodb_undo_directory=(专用redo磁盘文件系统路径)
innodb_thread_concurrency=(cpu数量+物理磁盘的数量)
innodb_strict_mode=true
tmpdir=/tmp
character_set_server=gbk或者utf8mb4(绝大多数系统应默认使用gbk,对于有特殊要求的建议在字段级别设置为utf-8)
autocommit=0
innodb_buffer_pool_size=60%-75%物理内存
innodb_flush_method=O_DIRECT(如果不使用硬件RAID控制器或者使用SAN,则不要设置)
innodb_flush_log_at_trx_commit(核心交易系统设置为1,默认为1,其他2或者0)
transaction-isolation=READ-COMMITTED
innodb_autoinc_lock_mode = 2
skip-name-resolve
large-pages(测试未看出明显受益,主要是内存没有足够压力,故当前不建议设置)
back-log=500
innodb-status-file=TRUE(推荐设置)
default-storage-engine=InnoDB
memlock=true(对于专用mysql服务器,建议禁用swap,此时此参数可以不设置,在共享服务器上,如果设置了,那么在内存不够时,可能导致Mysql因为内存不够而无法启动)
innodb_fast_shutdown=0
sync_binlog(核心交易系统设置为1,默认为1,其他2或者0)
log-bin=mysql-bin
binlog_format(OLTP为row,DSS系统为mixed,如不确定,请使用row)
binlog_checksum=NONE
binlog_row_image=full(mariadb没有参数,设置了启动会报错)
binlog_cache_size = 8M
max_binlog_size = 500M
max_binlog_cache_size = 100M
expire_logs_days = 7
innodb_log_file_size=512m
innodb-log-buffer-size=8M
innodb-log-files-in-group=(3-5,视生成的日志量而定)
innodb_log_group_home_dir=/usr/local/mysql/redo(专用redo磁盘文件系统路径)
innodb_flush_neighbors(默认值为1,SSD设置为0,Neighbors指的是属于一个extent的所有页面,一个extent共64个页面,出于硬盘IO顺序写的考虑,InnoDB通常会刷新一个extent中的所有页面,因为SSD在随机IO上没有额外负载,所以不需要启用该特性)
innodb_page_size(SSD设置为4KB)
innodb_data_home_dir=/usr/local/mysql/data(专用data磁盘文件系统路径)
# innodb_data_file_path=ibdata1:2000M;ibdata2:10M:autoextend (专用data磁盘文件系统路径,存储系统表空间,建议不要明确设置,如若不然的话,ibdata1的大小需要和实际大小相同)
innodb_change_buffer_max_size(InnoDB使用Change buffering以最小化随机IO,一旦change buffer满了,随后的DMLs将直接在相应的表上进行更改,change buffer以固定的频率(5.5不可更改,5.6由此参数控制,change buffer越接近该值,后台执行越频繁,每次合并的量由innodb_io_capacity控制(默认为200,代表10K RPM的硬盘,对于5400或者7200 RPM的硬盘,可以设置为100,代表每次可以执行100次IOPS(测试时每次大小可配置,这里应该说的是基于16KB大小,可参考http://elf8848.iteye.com/blog/1731301)。对于RAID或者SSD,增加的话,会有所帮助,现代系统应该调整))由后台进程合并到数据页,写入和读取频率接近的系统可设置为50,默认为25,代表buffer pool大小的25%,具体请咨询DBA)
innodb_lock_wait_timeout=86400(根据实际情况配置)
default-tmp-storage-engine=InnoDB
innodb-autoextend-increment=16M
innodb-buffer-pool-instances=min(8,nGB/1GB)
innodb-file-io-threads=max(4,nGB/4GB)
innodb_io_capacity=可供MySQL使用的IOPS(建议使用Oracle ORION进行测试)
innodb-file-per-table=true
innodb_rollback_on_timeout=true
innodb-old-blocks-time(混合型系统可以调整为60000或更高,具体请咨询DBA)
innodb-print-all-deadlocks=true
innodb-sort-buffer-size=(此选项为创建索引使用,不需要设置)
sort-buffer-size(DSS可语句级别动态调整,比如SET STATEMENT sort_buffer_size=100000 FOR SELECT name FROM name ORDER BY name;)
join-buffer-size=(DSS可语句级别动态调整)
open-files-limit=32767
innodb_open_files=32767
tmp-table-size(DSS可语句级别动态调整)
sql-mode=STRICT_TRANS_TABLES,STRICT_ALL_TABLES,PIPES_AS_CONCAT, ONLY_FULL_GROUP_BY,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO, ANSI_QUOTES,NO_UNSIGNED_SUBTRACTION,PAD_CHAR_TO_FULL_LENGTH, NO_ZERO_DATE,NO_ZERO_IN_DATE
log-output=FILE
slow-query-log=true
log-queries-not-using-indexes=true(对于mysql而言,该参数应该设置,具体看情况,有可能很多小表很快会使得slow_query_log增长的很快)
log_slow_filter
log_slow_sp_statements
log_slow_verbosity
innodb_show_verbose_locks=1
innodb_print_lock_wait_timeout_info=ON
server-id=1
port=3306
read_rnd_buffer_size(DSS需语句级别动态调整)
thread_handling=pool-of-threads
thread_pool_max_threads=100
thread_pool_size=50
thread_cache_size=64
max-connections=3000
event_scheduler=ON
#GTID 5.6引入主要是为了解决主从模式下主节点宕机后切换主节点时确定当前的事务进度(因为不同的实例日志点位不一定相同,而GTID的格式是日志source_id+事务id,所以可以保证所有节点的逻辑事务进度一致,这使得切换的难度大大降低)。
gtid-mode = ON #(Group Replication要求必须开启GTID,MariaDB没有这个参数,设置后会报错,不过默认就是启用GTID,GTID和基于binlog的区别https://www.percona.com/sites/default/files/presentations/Failover_GTID_MySQL_56_Fosdem.pdf
https://pdfs.semanticscholar.org/presentation/3036/b68bcb8bd2f4fed590fd85607e37bf511858.pdf)
log_slave_updates=ON(GTID模式必须开始log_slave_updates,对性能有一定影响)
enforce-gtid-consistency = ON(MariaDB没有这个参数,设置后会报错,不过默认就是启用GTID)
relay-log-info-repository=TABLE(MariaDB没有这个参数,设置后会报错,不过默认就是启用GTID)
master-info-repository=TABLE(MariaDB没有这个参数,设置后会报错,不过默认就是启用GTID)
slave_parallel_workers=4 --开启基于库的多线程复制默认0不开启 (MariaDB没有这个参数,设置后会报错,不过默认就是启用GTID)
innodb_lru_scan_depth(默认1024,这个参数控制page_cleaner线程扫描多少LRU列表中的脏页,对于写紧张的系统,降低该值,即使内存超大也一样;如果IO容量足够,增加该值;大型系统通常需要更改该参数)
innodb_use_global_flush_log_at_trx_commit=0
userstat=ON
thread_statistics=ON
MySQL5.7的参数优化的更多相关文章
- MySQL配置文件my.cnf参数优化和中文详解
Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...
- Linux中MySQL配置文件my.cnf参数优化
MySQL参数优化这东西不好好研究还是比较难懂的,其实不光是MySQL,大部分程序的参数优化,是很复杂的.MySQL的参数优化也不例外,对于不同的需求,还有硬件的配置,优化不可能又最优选择,只能慢慢的 ...
- MySQL参数优化案例
环境介绍 优化层级与指导思想 优化过程 最小化安装情况下的性能表现 优化innodb_buffer_pool_size 优化innodb_log_files_in_group&innodb_l ...
- MySQL-5.5.32 配置文件优化详解
目录 MySQL-5.5.32 配置文件优化详解 一.配置文件说明 2.my-medium.cnf 3.my-large.cnf 4.my-huge.cnf 5.my-innodb-heavy-4G. ...
- linux下TCP/IP及内核参数优化调优(转)
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等. 如下配置是写在sysctl.con ...
- mysql5.6主从参数详解
mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- Windows下tcp参数优化
Windows系统下的TCP参数优化2013-04-25 0 个评论 作者:最初的幸福ever收藏 我要投稿Windows系统下的TCP参数优化 TCP连接的状态与关闭方 ...
- paper 62:高斯混合模型(GMM)参数优化及实现
高斯混合模型(GMM)参数优化及实现 (< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:of ...
- 内核参数优化/etc/sysctl.conf
net.nf_conntrack_max = 65536000net.netfilter.nf_conntrack_tcp_timeout_established = 1200net.ipv4.tcp ...
随机推荐
- PAT (Basic Level) Practice (中文)1064 朋友数 (20 分) (set)
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”.例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号.给定 ...
- word的一些运用技巧
1.去除换行符 替换:^p > 空格
- SQL Server database – Error 3743
Database mirroring must be removed before you drop SQL Server database – Error 3743 If you try to dr ...
- 3级搭建类301-Oracle 11g RAC 双节点搭建(11.2.0.4)非公
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
- ZedGraph怎样实现将图形右键菜单的打印和页面设置合并为打印的二级子菜单
场景 Winforn中实现ZedGraph自定义添加右键菜单项(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- tomcat-embeded-core源码编译
使用spring-boot创建web工程时,默认采用embeded tomcat作为容器,实际使用过程中,可能会需要对其中的某些功能做微调,而tomcat又没有给出预留配 ,这时就需要对tomcat- ...
- 通过ssh-copy-id免密码连接Linux主机
Login Raspberry Pi without passcode via ssh-copy-id Generate public key $ ssh-keygen -t rsa Upload p ...
- 为什么SSL证书要设有效期?
1.首先是为了安全考虑,CA机构不能保证一个网站永远是合法的,因此它需要定期检查网站. 2.其次,以往CA证书都非常贵,签发证书的机构通过设置期限来收费,是一种商业途径. 3.最后,还有最重要的原因就 ...
- 如何在任意文件下启动jupyter notebook,而不用担心环境配置问题
网上看了很多帖子,说可以写一个bat文件,将bat文件放在你想启动jupyter notebook的地方.可是不行,不能解决我的问题!!!!!!!!!!! 网上是这样说的: ######这为引用### ...
- C++-POJ3735-Training little cats[矩阵乘法][快速幂]
矩阵快速幂,主要是考构造.另外,swap总是写龊? 为什么?干脆放弃了.唉,我太难了. 思路:操作e和s都很好想,主要是g操作 我们可以额外空出一位,记为1,每次要加1,就对这个额外的1进行计算即可 ...