代码改变世界

mysql中的read_only和super_read_only

  abce  阅读(3808)  评论(2编辑  收藏  举报

在引入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呢!贴一下以前的笔记吧。

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示