mysql 设置从库只读模式

存在的问题

当运维人员或者开发人员程序错误的连接了Mysql把Slave当成了Master等情况,那么就悲催了所有的数据修改就到Slave了,也会直接影响到主从的同步。为了避免上述问题,我们需要给MySQL的Slave设置为只读模式。

mysql> set global read_only=1; 

set global read_only=0 为取消普通账号的只读模式

授权普通MySQL测试账号

mysql> grant select,insert,update,delete on s18.* to 'test'@'127.0.0.1' identified by '123456';

用测试账号登陆进行删除等操作,会提示--read-only错误

注意:set global read_only=1 对拥有super权限的账号是不生效的,所以在授权账号的时候尽量避免添加super权限

那么我们在做数据迁移的时候不想发生任何数据的修改,包括super权限修改也要限制。

可以用锁表:

mysql> flush tables with read lock;
Query OK, 0 rows affected (0.18 sec)
posted @ 2021-04-16 09:10  littlewrong  阅读(749)  评论(0编辑  收藏  举报