mysql 5.7 super_MySQL 5.7 下的对super用户只读
在MySQL的主從復(fù)制場景下,遇上slave被意外寫入數(shù)據(jù)是一件比較嚴(yán)重的問題,畢竟在一般情況下我們都希望slave僅用只讀數(shù)據(jù)庫,如果被意外寫入數(shù)據(jù)可能會造成數(shù)據(jù)的不一致,從而導(dǎo)致主從的報錯。因此在MySQL中可以通過設(shè)置變量參數(shù)read_only
使MySQL的slave設(shè)置為只讀,在缺省條件下read_only變量參數(shù)是關(guān)閉的,但是read_only變量參數(shù)有一個問題它對super用戶無效,所以如果使用super用戶在開啟read_only的slave下還是可以正常的讀寫。在僅作為只讀的slave下如果出現(xiàn)super用戶誤操作,那勢必會造成一定的故障,而在MySQL 5.7后Oracle對MySQL的大量代碼進(jìn)行重構(gòu)調(diào)優(yōu)后添加了一個新的變量參數(shù)super_read_only,顧名思義就是super用戶只讀,所以在生產(chǎn)環(huán)境下如果沒有一些特殊的需求在slave下可以通過開啟super_read_only變量來警用slave寫入:
mysql>?set?global?super_read_only=ON;
Query?OK,?0?rows?affected?(0.00?sec)
mysql>?show?global?variables?like?'%read_only%';
+------------------+-------+
|?Variable_name????|?Value?|
+------------------+-------+
|?innodb_read_only?|?OFF???|
|?read_only????????|?ON????|
|?super_read_only??|?ON????|
|?tx_read_only?????|?ON????|
+------------------+-------+
4?rows?in?set?(0.00?sec)
再把變量參數(shù)寫入my.cnf,使下一次遇上重啟時變量生效
read_only?=?on
super_read_only?=?on
tx_read_only?=?on
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的mysql 5.7 super_MySQL 5.7 下的对super用户只读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: vivo nex免Root使用空调狗
- 下一篇: LFW人脸数据集测试协议及编程实现
