1. 程式人生 > 實用技巧 >MySQL中幾個重要的引數

MySQL中幾個重要的引數

sync_binlog

引數含義:控制binlog刷盤的頻率。
             當值為 0 時,不強制刷盤,binlog依賴作業系統刷入磁碟。
             當值為 1 時,確保binlog在一組事務提交前刷入磁碟。
             當值為 N 時(非 0 或 1),表明每N個binlog組提交刷一次盤。
取值範圍:interger(0 ~ 4294967295)
推薦值: 1
備註:為了提高效能 binlog 使用組提交的方式,sync_binlog=1 表明binlog 每組事務提交時寫入並刷一次盤。             

innodb_flush_log_at_trx_commit

引數含義:控制提交操作的ACID遵從性和更高的效能之間的平衡。要完全符合ACID,需使用預設設定 1,日誌在每次事務提交時寫入並重新整理到磁碟。設定為 0 時,每秒寫入一次日誌並將其重新整理到磁碟,尚未刷盤的日誌可能會在系統崩潰時丟失。設定為 2 時,每次事務提交後寫入日誌,並每秒重新整理到磁碟,尚未刷盤的日誌可能會在系統崩潰時丟失
取值範圍:0,1,2
推薦值:1
備註:binlog使用組提交方式時,innodb_flush_log_at_trx_commit 設定為1表明redo log每組事務提交時寫入並刷一次盤。
如果sync_binlog 和 innodb_flush_log_at_trx_commit 不同時設定為1,則資料庫崩潰恢復後,資料庫的內部狀態可能不一致。

innodb_buffer_pool_size

引數含義:用於innodb表和索引的快取資料的記憶體大小。
取值範圍:
|  最低值            | 5242880 |
| 最大值(64bit) |2^64-1    |
| 最大值(32bit) |2^32-1    |
推薦值:規格相關

foreign_key_checks

引數含義:如果設定為ON,則會檢查外來鍵約束,如果設定為OFF,將忽略外來鍵約束。
取值範圍:ON,OFF
推薦值:ON
備註:切記不要更改這個引數的預設設定,否則會導致一些問題。

unique_checks

引數含義:如果設定為ON,innodb中進行二級索引的唯一性檢查,如果設定為OFF,則跳過檢查,此時需要業務保證資料不包含重複索引。
取值範圍:ON,OFF
推薦值:ON
備註:切記不要更改這個引數的預設設定,否則會導致一些問題。

lower_case_table_names

引數含義:控制MySQL中的庫名、表名、表別名是否區分大小寫。0代表區分,1代表不區分。
取值範圍:0|1
推薦值:1
備註:切記不要更改這個引數的預設設定,否則會導致一些問題