admin管理员组

文章数量:1558092

在主从中,我们设置从库只读:
1、如果只是打开read_only=on 在从库上启用确保只接受来自主库的更新,不接受来自客户端的更新。但是不能保证连到从库具有super权限误写数据。
2、mysql5.7.8开始支持super_read_only参数,如果super_read_only=on,在从库直接受来自主库的更新,连接到从库的含有super用户权限也不能更新,确保从库不被写如异常数据。

另外注意:
如果设置了super_read_only =on ,那么默认的read_only 也设置为on,如果再设置super_read_only =off,此时read_only 还是on,如果主从角色发生变化注意read_only也设置为off。

日常维护:
主库可读写
从库只读

从库只读的两种选择:
1、read_only = on;
2、read_only = on;
super_read_only = on;

区别是如果从库也设置了super_read_only=on,可很好确保了从库不被误写数据,即便是变更时候,不小心在从库执行了super权限用户语句也会失败,不会造成主从不一致。

那么我们的从库是否一定要设置为super_read_only = on 吗?

看不同的架构:
传统的主从,建议从库也设置super_read_only=on防止应用用户高权在从库写如数据,也防止变更的时候在从库误写数据。
如果是分布式架构,涉及到了专门的管理agent负责对db节点切换,那么还是不能设置为super_read_only=on,但是相关应用等不负责切换的用户务必不能具备super权限。
mgr架构,mgr内部会自动为从库设置为super_read_only=on。

从库重启后维护:
如果传统主从架构,遇到宿主机宕机虚拟机漂移后启动数据库,还是从库本身是物理机异常宕机,还是从库计划内升级系统补丁等操作重启后建议显示把从库设置为super_read_only=on只读。
如果是分布式,建议启动管理agent由管理的agent负责把从节点加入主库并且把从库设置为read_only=on。

其他问题:
如果使用nbu备份,备份策略是从库,由于备份用户需要super权限,需要在备份时候先把super_read_only=off备份结束后设置super_read_only=on。

本文标签: 注意事项readonlysuperreadonly