mysql中的read_only和super_read_only


在引入super_read_only之前,mysql提供了一個選項read_only。開啟read_only之后,會阻止沒有super權限的用戶執行數據庫更新操作。read_only主要用於復制節點。

super_read_only不僅會阻止普通用戶,也會阻止具有super權限的用戶對數據庫寫操作。



read_only和super_read_only是有關聯的。默認二者都是關閉的:

·如果開啟了super_read_only,即使用戶有super權限,也會被禁止更新操作

·設置super_read_only=on,也就隱式地設置了read_only=on

·設置read_only=off,也就隱式地設置了super_read_only=off



即使設置read_only=on,mysql還支持以下的操作行為:

·如果是復制節點,replica線程執行update操作

·使用analyze table、optimize table語句。read only是為了避免對表結構或者內容進行修改。而這些命令不會。

·對temporary表進行操作

·向日志表(mysql.general_log、mysql.slow_log)插入記錄

·mysql 5.7.16開始,更新performance schema表,比如update、truncate表操作

 

 

 

 

平時關注的大佬網站上,幾天前突然慎重的介紹了一下super_read_only這個參數,搞的我以為有了什么重大改變或bug呢!貼一下以前的筆記吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM