1. 查看客戶端連接數(shù):
show global status like 'Thread%'
說明:因為MySQL 服務(wù)端采用的是單進(jìn)程多線程模型,每產(chǎn)生一個回話(Session)就會有一個新線程處理。所以該命令即表示客戶端連接數(shù)。
2. 由于線程資源寶貴,如果某一鏈接長時間沒有任何操作,該線程是如何回收釋放的呢?
-- 非交互式超時時間,如JDBC程序
show global variables like 'wait_timeout%';
'wait_timeout','86400'
-- 交互式超時時間,如數(shù)據(jù)工具 Navict
show global variables like 'interactive_timeout%';
'interactive_timeout','7200'
超過相應(yīng)的超時時間 則鏈接斷開。
3. 默認(rèn)的最大連接數(shù)是多少呢?

4.查看系統(tǒng)參數(shù)
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html
5.查詢緩存設(shè)置
show variables like 'query_cache%';

通過 query_cache_type OFF 可以 查詢緩存默認(rèn)是關(guān)閉的(5.7默認(rèn)關(guān)閉 ,并且8.0版本中已經(jīng)移除)
6. 默認(rèn)頁大?。?/h6>
page_size: 16
https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_page_size
7. 查看redo log 信息:
show variables like 'innodb_log%'
redo_log 固定大小為48M(可以修改)
作用:
保證了內(nèi)存數(shù)據(jù)的安全性,延緩了刷盤時間,提高了吞吐量。
- 為InnoDB提供了崩潰恢復(fù)的特性,實現(xiàn)持久性。
- redo log 記錄的是 ‘在某個數(shù)據(jù)頁上做了什么修改’。屬于物理日志。
- redo log 的大小是固定的,前面的內(nèi)容會覆蓋,一旦寫滿,就會觸發(fā) buffer pool 到磁盤的同步,以便騰出空間記錄后面的修改。
8. 查看 undo log 信息
show global variables like '%undo%' 存放在系統(tǒng)表空間
undo log 作用:
記錄事物發(fā)生之前的數(shù)據(jù)狀態(tài),發(fā)生異常時回滾,保證原子性。
9. 查看 bufferPol信息:
show global variables like '%innodb_buffer_pool%';
buffer pool 內(nèi)存寫滿怎辦?
buffer pool 有自己的LRU算法
https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool.html
10.查看更新緩沖區(qū)數(shù)據(jù):
show global variables like '%innodb_change_buffer_max_size%';
innodb_change_buffer_max_size 25 (表示占整個緩沖區(qū)的25%)
11.redo log buffer
redo log 緩沖區(qū)
刷盤時機(頻率):
show global variables like '%innodb_flush_log_at_trx_commit%';
0: 代表事物提交后每隔一秒刷新到redo log 文件
1: 代表事物提交后立即刷新到redo log 文件(默認(rèn))
page_size: 16
https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_page_size
show variables like 'innodb_log%'
redo_log 固定大小為48M(可以修改)
作用:
保證了內(nèi)存數(shù)據(jù)的安全性,延緩了刷盤時間,提高了吞吐量。
show global variables like '%undo%' 存放在系統(tǒng)表空間
undo log 作用:
記錄事物發(fā)生之前的數(shù)據(jù)狀態(tài),發(fā)生異常時回滾,保證原子性。
show global variables like '%innodb_buffer_pool%';
buffer pool 內(nèi)存寫滿怎辦?
buffer pool 有自己的LRU算法
https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool.html
show global variables like '%innodb_change_buffer_max_size%';
innodb_change_buffer_max_size 25 (表示占整個緩沖區(qū)的25%)
redo log 緩沖區(qū)
刷盤時機(頻率):
show global variables like '%innodb_flush_log_at_trx_commit%';
0: 代表事物提交后每隔一秒刷新到redo log 文件
1: 代表事物提交后立即刷新到redo log 文件(默認(rèn))
2: 代表事物提交后立即刷新到操作系統(tǒng)緩沖區(qū),然后操作系統(tǒng)每隔一秒刷新到redo log 文件。
12. 雙寫緩沖:
頁的備份,防止頁被破壞導(dǎo)致數(shù)據(jù)無法恢復(fù)。
13.bin log
所有引擎都有的日志文件
以事件的形式記錄了所有的DDL和DML語句(因為記錄的是操作而不是數(shù)據(jù),屬于邏輯日志),可以用來做主從同步和數(shù)據(jù)恢復(fù)。