MySQL 5.7 下的对super用户只读

在MySQL的主从复制场景下,遇上slave被意外写入数据是一件比较严重的问题,毕竟在一般情况下我们都希望slave仅用只读数据库,如果被意外写入数据可能会造成数据的不一致,从而导致主从的报错。因此在MySQL中可以通过设置变量参数read_only

mysql>  set  global  super_read_only= ON ;
Query OK, 0  rows  affected (0.00 sec)
  
mysql> show  global  variables  like  '%read_only%' ;
+ ------------------+-------+
| Variable_name    | Value |
+ ------------------+-------+
| innodb_read_only |  OFF    |
| read_only        |  ON    |
| super_read_only  |  ON    |
| tx_read_only     |  ON    |
+ ------------------+-------+
rows  in  set  (0.00 sec)

再把变量参数写入my.cnf,使下一次遇上重启时变量生效

read_only = on
super_read_only = on
tx_read_only = on

猜你喜欢

转载自www.linuxidc.com/Linux/2017-09/146661.htm