##innodb correlate
innodb_flush_log_at_trx_commit
value: 0,[1],2
effect: control the flush operations of redo log buffer to redo logfile on disk.
detail:
0,redo log buffer won't be flushed to disk after transaction commit.
1,guarantee the redo log buffer will be flushed to disk immediately as soon as transaction finish commit.it's recommend value in high consistency required system.whereas,the performance will be a little bit reduced.
2,the flush time depends on the OS cache.It's possible to loss transaction when OS crashs.
sync_binlog
value: 0,[1]~2**32-1
effect: control the amount of binlog commit groups which will be synchronized to disk.
detail:
0,innodb won't synchronize the binlog to disk spontaneously merely depends on the machenism of OS cache to flush them in a certain time which cannot ensure the transaction to be safe.
1,all the binlogs will be flushed to disk as soon as transactions have committed.
2 or above,flush operations base on the number of group commit taking place.
as the existence of binlog group commit in MySQL 5.6,notice that we cannot say the number is equal to the transactions.let's suppose in the scenario that there're three sessions who have started transaction in turn.they have different begin time of transaction respectively.that is,the "sequence number" is also different,but they implement commit simultaneously what means they have the same "last commit" number.thus,they can be committed together by means of group commit.eventually,we'll get three transactions but only one group commit here.if the value of the "sync_bin" is 1,the binlog will be flushed to disk only once instead of three times.in any case the value is more than 1,the flush operation is still based on the number of group commit(not number of single transaction).
innodb_force_recovery
value: [0],1,2,3,4,5,6
effect: control the startup mode of innodb,try to begin with 0 then increase the number every time to start successfully.
detail:
1 (SRV_FORCE_IGNORE_CORRUPT) ignore corrupt index and data pages.
2 (SRV_FORCE_NO_BACKGROUND) prevent master thread & purge threads from running.
3 (SRV_FORCE_NO_TRX_UNDO) won't rollback transaction after recovery
4 (SRV_FORCE_NO_IBUF_MERGE) stop running insert buffer,need to recreate all the secondary indexes.
5 (SRV_FORCE_NO_UNDO_LOG_SCAN) ignore undo log,transanctions will be forcedly commited even if they havn't committed.
6 (SRV_FORCE_NO_LOG_REDO) ignore redo log,method like failover in oracle database.
look out,value of 4~6 will corrupt the datafiles,need to set innodb read only.
innodb_fast_shutdown
value: 0,[1],2
effect: control the operation when shutdown,value 0 is the slowest mode while shutting down.
detail:
0,a full purge and change buffer merge before shutting down.
1,skip above two operations,but still will flush dirty page due to starp checkpoint.
2,only flush log buffers to logfiles and shutdown like crash,don't flush dirty pages which will lead to quite a long time to startup netxtime to rollback the uncommited transactions.
innodb_io_capacity
value: 100~[200]~2**64-1(64 bit)
effect: control the gross of IOPS such as flush pages(shared by all innodb buffer pool instances).
detail:
specify it as an appropiate value according to the disk performance is better than a rather hige value.only if the IOPS is the bottleneck while flushing pages,try to increase it little by little is a practical way.usually,200~400 is recommended value.when using regular disk drive.
notice,the parameter is relevent with "innodb_flush_sync" which can lead to being ignored.
innodb_io_capacity_max
value: depends on the OS platform
effect: the upper limit of "innodb_io_capacity".
detail:
it will be twice as the velue of "innodb_io_capacity" and the default minimum value is "2000" if you don't specify it explicitly in "my.cnf",it cannot be set lower than "innodb_io_capacity".
innodb_flush_sync
value: [on],off
effect: prevent bursts IO operations caused by a high value in "innodb_io_capacity" when doing checkpoint.
detail:
it may result in an inefficient value which you've set in "innodb_io_capacity",disable it can be a workaround,but the influence may occur while doing checkpoint(especially there're huge amount of dirty pages to be flushed).
to be continueously updated...
- mysql日常笔记(持续更新)
常用场景 sql_mode问题:http://blog.csdn.net/ccccalculator/article/details/70432123 连续日期补全/数据补零操作 在不使用存储过程和函 ...
- MySQL问题总结(持续更新)
CHAR和VARCHAR的区别 存储方式和检索方式不同: 1.CHAR固定长度字符类型.CHAR存储定长数据,CHAR字段上的索引效率高,比如定义char(10),那么不论你存储的数据是否达到了10个 ...
- mysql问题汇总——持续更新
1.this is incompatible with sql_mode=only_full_group_by set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_ ...
- MySql报错(持续更新)
目录 MySql报错 1. 重复键报错1062- duplicate entry '0' for key 'xxx' 1.1 报错场景 1.2 报错原因 1.3 解决方法 1.4 具体举例 2. VS ...
- MySQL问题汇总(持续更新)
1.This function has none of DETERMINISTIC, NO SQL 原因: Mysql如果开启了bin-log, 我们就必须指定我们的函数是否是 1 DETERMINI ...
- Mysql操作笔记(持续更新)
1.mysqldump备份导出 备份成sql mysqldump -hlocalIp -uuserName -p --opt --default-character-set=utf8 --hex-bl ...
- iOS 常用三方(持续更新)
iOS 常用三方 1.ZWMSegmentController 分页控制器 https://github.com/weiming4219/ZWMSegmentController
- linux常用指令集-持续更新...
0.查看所有java进程GC情况:for i in `jps|egrep -v "Jps|Launcher" |cut -d" " -f1`;do pwdx $ ...
- Linux常用命令——持续更新(2018-05-09)
此命令默认是在centos环境下执行,除非特殊标明. 1.查看ip: ifconfig 2.创建指定用户并分配到某个组:创建用户user并分配到root组 useradd -g root user 3 ...
随机推荐
- 用 State Pattern 来实现一个简单的 状态机
首先要理解 State Pattern 模式. http://www.dofactory.com/net/state-design-pattern Definition Allow an object ...
- Python 2 和Python 3的区别
print input urlopen print print在版本2的使用方法是: print 'this is version 2' 也可以是 print('this is version 2') ...
- 任务十六:零基础JavaScript编码(四)
任务目的 在上一任务基础上继续JavaScript的体验 深入学习JavaScript的事件机制及DOM操作 学习事件代理机制 学习简单的表单验证功能 学习外部加载JavaScript文件 任务描述 ...
- 13.git别名
虽然别名不是很重要,但是你大概应该知道如何使用它们. Git 并不会在你输入部分命令时自动推断出你想要的命令. 如果不想每次都输入完整的 Git 命令,可以通过 git config 文件来轻松地为每 ...
- Mysql存储Emoji表情[为何utf8不能存储以及如何使Mysql能够存储Emoji表情]
https://segmentfault.com/a/1190000008533577
- react-native-splash-screen
react-native-splash-screen在GitHub上的地址:https://github.com/crazycodeboy/react-native-splash-screen rea ...
- CentOS: 将虚拟机迁移到 Azure (以阿里云为例)
Azure 虚拟机能很容易地导出 vhd 并迁移到各种环境中,包含本地及云端环境,或者迁移至其他区域.这为开发.测试.扩展带来了极大的便利.因此本文以阿里云为例,阐述的是如何将 CentOS 6.8 ...
- Log4net (Log for .net)
Log4net (Log for .net) 开源的记录日志的组件,是从java的Log4J移植到.net 日志文件存放的位置 在项目新建“App_Code”和“App_Data”,该文件夹客户端无法 ...
- excel操作方法
excel分列: http://jingyan.baidu.com/article/54b6b9c0d53f622d593b4772.html excel分列: http://jingyan.baid ...
- Beta版本 为什么程序员总是分不清万圣节和圣诞节?因为 Oct 31 == Dec 25。
Beta版本 软件的测试版本,经常在各类著名软件中的前期发布版本的后缀中可见,包括大名鼎鼎的windows系统,这个阶段的版本一直加入一些新的功能. 软件测试可分为alpha测试.beta测试和联合测 ...