1 Star 0 Fork 0

cxylk / Java-Notes

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
参数和命令.md 3.17 KB
一键复制 编辑 原始数据 按行查看 历史
cxylk 提交于 2023-02-28 11:06 . mysql

innodb_flush_log_at_trx_commit

redo log的写入策略

  1. 设置为0的时候,表示每次事务提交时都只是把redo log留在redo log buffer中;
  2. 设置为1的时候,表示每次事务提交时都将redo log直接持久化到磁盘;
  3. 设置为2的时候,表示每次事务提交时都只是把redo log写到page cache

sync_binlog

binlog write和fsync的时机

  1. sync_binlog=0的时候,表示每次提交事务都只write,不fsync;
  2. sync_binlog=1的时候,表示每次提交事务都会执行fsync;
  3. sync_binlog=N(N>1)的时候,表示每次提交事务都write,但累积N个事务后才fsync。

show variables like 'transaction_isolation'

查看当前数据库的隔离级别,MySQL默认是可重复读

select * from information_schema.innodb_trx

查询数据库中存在的事务。可以用来检测是否存在长事务。由于查询出来的结果不直观,可以在后面加上 \G

比如查询系统中持续时间超过60s的事务:

select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60

Flush tables with read lock(FTWRL)

加全局读锁,适用于让整个库处于只读状态的时候

InnoDB建议使用下面这个参数

-single-transaction

官方自带的备份工具mysqldump,当mysqldump使用参数-single-transaction的时候,导数据前会启动一个事务,确保拿到一致性视图,由于MVCC的支持,这个过程中数据可以正常更新。如果引擎不支持事务,那么使用上面的FTWRL命令

innodb_lock_wait_timeout

死锁超时时间。默认是50s

innodb_deadlock_detect

发现死锁后,主动回滚死锁链中的某一个事务,让其他事务得以继续执行。默认是on,即开启的。

innodb_io_capacity

告诉innodb当前机器的磁盘能力。建议设置成磁盘的IOPS,磁盘的IOPS可以通过fio这个工具测试。

innodb_max_dirty_pages_pct

脏页比例上限,默认是75%

脏页比例

Innodb_buffer_pool_pages_dirty/Innodb_buffer_pool_pages_total

innodb_flush_neighbors

控制连坐机制,1表示刷脏页会有连坐行为,0表示自己刷自己的。8.0后默认是0

sort_buffer_size

mysql为排序开辟的内存(sort_buffer)的大小。排序数据量小于它,那么排序在内存中完成。数据量太大,内存放不下,需要在磁盘辅助排序,也就是外部排序,使用归并排序算法。

max_length_for_sort_data

控制用于排序的行数据的长度的一个参数。如果单行长度超过这个值,mysql就会认为单行太大,要换一个算法。

show binary logs

查看所有binlog日志文件

show binlog events in 'xxxlog.xxx'

查看具体的binlog日志

innodb_log_buffer_size

设置log_buffer_size的大小

mysqlbinlog工具

解析和查看binlog中的内容,比如一个事务的binlog是从8900开始的,可以用start-position参数指定从这个位置的日志开始解析

mysqlbinlog -w data/xxxx.000001 -start-position=8900

其中-w参数是为了把内容都解析出来

--binlog-format=type

binlog日志格式,三种:statement,row,mixed,默认是row

1
https://gitee.com/cxylk/Java-Notes.git
git@gitee.com:cxylk/Java-Notes.git
cxylk
Java-Notes
Java-Notes
main

搜索帮助

53164aa7 5694891 3bd8fe86 5694891