如何配置MySQL从库为只读模式,启用read_only和super_read_only?

2026-04-30 21:190阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计710个文字,预计阅读时间需要3分钟。

如何配置MySQL从库为只读模式,启用read_only和super_read_only?

很多用户为了从库执行以下命令:

如何正确启用双层只读:read_only + super_read_only

两者需同时开启才构成有效防护。顺序和方式很重要:

  • 先确保主从复制正常运行(SHOW SLAVE STATUS\GSlave_IO_RunningSlave_SQL_Running 均为 Yes),再设置只读,否则可能中断 SQL 线程
  • 执行顺序必须是:SET GLOBAL read_only = 1SET GLOBAL super_read_only = 1;反过来会报错(ERROR 1290 (HY000): The MySQL server is running with the --super-read-only option so it cannot execute this statement
  • 要持久生效,必须在配置文件(如 /etc/my.cnf)中显式写入:

    [mysqld] read_only = ON super_read_only = ON 仅靠 SET GLOBAL 设置会在重启后丢失

super_read_only 启用后哪些操作会被拒绝

开启后,任何用户(包括 root)都无法执行写操作,除非临时禁用它。

阅读全文
标签:Mysql

本文共计710个文字,预计阅读时间需要3分钟。

如何配置MySQL从库为只读模式,启用read_only和super_read_only?

很多用户为了从库执行以下命令:

如何正确启用双层只读:read_only + super_read_only

两者需同时开启才构成有效防护。顺序和方式很重要:

  • 先确保主从复制正常运行(SHOW SLAVE STATUS\GSlave_IO_RunningSlave_SQL_Running 均为 Yes),再设置只读,否则可能中断 SQL 线程
  • 执行顺序必须是:SET GLOBAL read_only = 1SET GLOBAL super_read_only = 1;反过来会报错(ERROR 1290 (HY000): The MySQL server is running with the --super-read-only option so it cannot execute this statement
  • 要持久生效,必须在配置文件(如 /etc/my.cnf)中显式写入:

    [mysqld] read_only = ON super_read_only = ON 仅靠 SET GLOBAL 设置会在重启后丢失

super_read_only 启用后哪些操作会被拒绝

开启后,任何用户(包括 root)都无法执行写操作,除非临时禁用它。

阅读全文
标签:Mysql