Mysql
Mysql配置和掉電
我想知道Mysql是否有某些配置應該考慮以盡可能降低掉電的影響。應該注意哪些配置點以及它們應該具有哪些值。
電源故障最大恢復能力的設置是擁有 3 個 Galera 節點,三個地理上不同的位置各有一個。
您似乎正在使用 MariaDB,其較新版本包括 Galera Clustering。當然,與普通 MariaDB 相比,有一些集群設置和一些編碼/管理差異。
當一個節點(甚至它所在的整個數據中心)出現故障時,其他節點可以進行讀取和寫入。唯一的問題是將您的客戶指向他們。有幾個提供此功能的代理伺服器(等)。
3是一個神奇的數字。它允許單點故障,其他 2 個節點投票說“我們有一個法定人數”並且會堅持下去。發生故障的那個可能實際上還活著,但隱藏在網路中斷的後面。為了防止“腦裂”,該節點意識到 id 沒有仲裁,因此它拒絕寫入,因為它們可能會損害唯一鍵的一致性。
對於單個“家庭”系統:
- 使用 InnoDB,而不是 MyISAM。InnoDB 將從電源故障中恢復正常。
- 插入 UPS。這將在電源真正失效之前給您“一些”時間。
- 使用筆記型電腦,而不是台式機——筆記型電腦的電池可以使用“一段時間”。
此設置將在執行 DB 事務時在電源故障的情況下提供最佳的數據失去保護。我假設您正在使用
innodb
引擎。這將保護已送出的事務。innodb_flush_log_at_trx_commit=1
另一方面,您提到它是您的家用 PC,因此可能不會在生產中使用。那麼您對數據失去的擔憂是什麼?無論如何都必須是所有測試數據,不是嗎?