redo log的写入策略
binlog write和fsync的时机
查看当前数据库的隔离级别,MySQL默认是可重复读
查询数据库中存在的事务。可以用来检测是否存在长事务。由于查询出来的结果不直观,可以在后面加上 \G
比如查询系统中持续时间超过60s的事务:
select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60
加全局读锁,适用于让整个库处于只读状态的时候
InnoDB建议使用下面这个参数
官方自带的备份工具mysqldump
,当mysqldump使用参数-single-transaction的时候,导数据前会启动一个事务,确保拿到一致性视图,由于MVCC的支持,这个过程中数据可以正常更新。如果引擎不支持事务,那么使用上面的FTWRL命令
死锁超时时间。默认是50s
发现死锁后,主动回滚死锁链中的某一个事务,让其他事务得以继续执行。默认是on,即开启的。
告诉innodb当前机器的磁盘能力。建议设置成磁盘的IOPS,磁盘的IOPS可以通过fio这个工具测试。
脏页比例上限,默认是75%
Innodb_buffer_pool_pages_dirty/Innodb_buffer_pool_pages_total
控制连坐机制,1表示刷脏页会有连坐行为,0表示自己刷自己的。8.0后默认是0
mysql为排序开辟的内存(sort_buffer)的大小。排序数据量小于它,那么排序在内存中完成。数据量太大,内存放不下,需要在磁盘辅助排序,也就是外部排序,使用归并排序算法。
控制用于排序的行数据的长度的一个参数。如果单行长度超过这个值,mysql就会认为单行太大,要换一个算法。
查看所有binlog日志文件
查看具体的binlog日志
设置log_buffer_size的大小
解析和查看binlog中的内容,比如一个事务的binlog是从8900开始的,可以用start-position参数指定从这个位置的日志开始解析
mysqlbinlog -w data/xxxx.000001 -start-position=8900
其中-w参数是为了把内容都解析出来
binlog日志格式,三种:statement,row,mixed,默认是row
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。