MySQL 常用命令及參數(shù)說明

sync-binlog = 1
innodb_flush_log_at_trx_commit = 1

sync-binlog=0: 關閉通過MySQL服務器將二進制日志刷入磁盤,MySQL服務器依賴于操作系統(tǒng)每秒將二進制日志刷新到磁盤。這個設置提供了最好的性能,但是當碰到斷電或系統(tǒng)崩潰的時候,可能會造成服務器提交的事務沒有被同步到二進制日志中。
sync-binlog=1: 開啟在事務提交前將二進制日志刷入磁盤。這是最安全的設置,但是這對磁盤讀寫會造成負面影響。當碰到斷電或系統(tǒng)崩潰的時候,丟失的事務只是進入準備狀態(tài),這個操作允許自動恢復程序去回滾這些事務,保證了沒有事務會從二進制日志中丟失。
sync-binlog=N: 每向二進制日志文件寫入N條SQL或N個事務后,則把二進制日志文件的數(shù)據(jù)刷新到磁盤上;

innodb_flush_log_at_trx_commit=0: log buffer將每秒一次地寫入log file中,并且log file的flush(刷到磁盤)操作同時進行。該模式下在事務提交的時候,不會主動觸發(fā)寫入磁盤的操作。
innodb_flush_log_at_trx_commit=1: 完全遵從ACID,每次事務提交時MySQL都會把log buffer的數(shù)據(jù)寫入log file,并且flush(刷到磁盤)中去。
innodb_flush_log_at_trx_commit=2: 每次事務提交時MySQL都會把log buffer的數(shù)據(jù)寫入log file,但是flush(刷到磁盤)操作并不會同時進行。該模式下,MySQL會每秒執(zhí)行一次 flush(刷到磁盤)操作。

innodb-log-files-in-group = 5          #redo log 組數(shù)
innodb-log-files-size = 128M          #redo log 大小
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
SELECT r.trx_id
SHOW PROCESSLIST;
SHOW ENGINE INNODB STATUS;
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容