mysql主从模式下在主库上的某些操作不记录日志的方法
mysql主从模式下在主库上的某些操作不记录日志的方法
需求场景:
在主库上的需要删除某个用户,而这个用户在从库上不存在(我在接手一个业务的时候,就遇到主从架构用户授权不一致的情况,主库比较全,而从库只创建了复制和只读账号)。
个人建议,在一个集群架构(姑且把主从复制也称为集群吧),端口、用户名、密码、权限都要保持一致,这样,在切换的时候,就不用考虑权限问题。否则切换了,但是因为权限问题,
导致连接报错,不值得自己给自己挖坑。
具体说明如下:
set sql_log_bin=0;的作用和目的:禁止将自己的语句记入二进制日志文件binlog中
当然也就不会更新到备库中;
记得操作完成后,别忘记了执行set sql_log_bin=1;
具体示例如下:
-- 需要删除的用户 set sql_log_bin = 0; drop user 'user1'@'10.20.1.253'; drop user 'user2'@'10.20.1.%'; drop user 'user3'@'10.20.1.%'; set sql_log_bin = 1;
select concat('\'',user,'\'','@','\'',host,'\' ;') from mysql.user order by user;