Skip to content

Latest commit

 

History

History
96 lines (69 loc) · 3.37 KB

2021-08-06-mysql-var_command.md

File metadata and controls

96 lines (69 loc) · 3.37 KB
layout title category tags keywords description date author published
post
Mysql--查询MySQL系统设置变量的命令
技术
mysql db web
mysql db web
2021-08-06
followtry
true

Mysql5.7 命令

-- 显示所有的变量
SHOW VARIABLES;

-- 事务提交级别
-- mysql默认为REPEATABLE-READ。阿里设置的默认级别为READ-COMMITTED
-- 只需要行锁,而不需要gap锁,虽然有幻读和不可重复读
-- 很多人容易搞混不可重复读和幻读,确实这两者有些相似。但不可重复读重点在于update和delete,而幻读的重点在于insert
--在 MySQL InnoDB 中,Repeatable Read 隔离级别不存在幻读问题,对于快照读,InnoDB 使用 MVCC 解决幻读,对于当前读,InnoDB 通过 gap locks 或 next-key locks 解决幻读。
show variables like 'transaction_isolation';


-- 显示innodb下的命令
SHOW  VARIABLES  LIKE 'innodb%';

-- 显示innodb的page大小
show variables like 'innodb_page_size';

-- 显示数据存储目录
show variables like 'datadir';

-- 连接超时时间
show variables like 'connect_timeout';

-- 显示查询缓存设置。 
-- 0 or OFF 默认关闭
-- 1 or ON 缓存所有可缓存的查询结果
-- 2 or DEMAND 按需缓存
show variables like 'query_cache_type';

-- 查询innodb缓存池大小
show variables like 'query_cache_size';

-- redolog写入缓冲池配置
show variables like 'innodb_buffer_pool_size';

-- 同步binlog
-- 0 禁用MySQL将二进制日志到磁盘同步,而是依靠 OS 不时地将二进制日志刷新到磁盘上
-- 1 每次提交事务之前将二进制日志同步到磁盘,这是最安全的设置,但是由于磁盘写入次数增加会对性能产生影响
-- N 在进行 n 次事务提交后,收集的二进制日志将同步到磁盘,较高的值可以提高性能,但会增加数据丢失的风险
show variables like 'sync_binlog';

-- 是否启用binlog
show variables like 'log_bin';

-- innodb关闭模式
-- 0 InnoDB会在关闭之前进行缓慢关闭、完全清除和更改缓冲区合并
-- 1 InnoDB在关机时跳过这些操作,这个过程称为快速关机
-- 2 InnoDB会刷新日志并冷关机,不会丢失已提交的事务,但崩溃恢复操作会使下一次启动花费更长时间
show variables like 'innodb_fast_shutdown';


-- 慢查询功能
show variables like '%slow%';

-- 显示连接信息
show variables like '%connection%';

-- 显示连接信息
show processlist

-- 查看redolog刷盘的时机,如果设置为1,则表示每次的redo log都是直接写入磁盘中,保证redo log不丢失
show VARIABLES like '%innodb_flush_log_at_trx_commit%'

--同步binlog的时机,如果设置为1,表示每次事务的binlog都会持久化到磁盘中。保证binlog不丢失
show VARIABLES like '%sync_binlog%'

-- 显示锁等待时间,默认为50s。可以避免死锁的长时间等待
show variables like '%innodb_lock_wait_timeout%';

-- 开启死锁检测。发现死锁后,主动回滚死锁链条中的某一个事务,让其他事务得以继续执行。默认开启
show variables like '%innodb_deadlock_detect%';

-- 显示磁盘io的能力
show variables like 'innodb_io_capacity';

-- 刷脏页的是否设置为将临近的脏页也刷掉。如果是机械硬盘可以开启,设置为1,顺序io提高性能。如果是固态硬盘可以关闭,设置为0;
show variables like 'innodb_flush_neighbors';