Mysql
防止對 MySQL 從站的非複制寫入?
為了提高性能,我們有一些 MySQL 數據庫伺服器設置了基於行的複制。軟體寫入主機,並從主機或從機讀取。在大多數情況下,一切都很好。
我的理解是 MySQL 將允許寫入從屬伺服器,即使它知道它是 MySQL 從屬伺服器。理想情況下,我有點想關閉它,所以即使有人編寫了一些錯誤的程式碼來獲得讀取連接並執行
UPDATE
,它也會拋出錯誤而不是將數據放在從站上。有沒有辦法在 MySQL 中做到這一點?顯然,我們也希望通過我們的軟體使這成為不可能,但就像我們伺服器上的防火牆一樣,我希望盡可能地採取防禦措施。
謝謝!
read-only
在 my.cnf 中啟用該選項。也可以使用--read-only
mysqld 在命令行上將其指定為標誌。
作為設置的替代方案
read_only=1
(例如,當從屬實例上有其他暫存器/報告/開發數據庫時),我有時會從所有使用者剝離除 SELECT 之外的所有權限到我正在複製的數據庫。