设置MySQL从库为只读可防止数据不一致,通过SET GLOBAL read_only = ON临时启用,或在配置文件中添加read_only和super_read_only = ON实现持久化,后者需重启生效;super_read_only依赖read_only开启,可阻止超级用户写入;通过SHOW VARIABLES验证状态,写操作将报错1290;维护时可临时关闭,完成后恢复,确保主从数据一致性。

MySQL从库设置为只读,主要是为了防止误操作导致数据不一致。在主从复制环境中,从库默认不应该写入数据,通过开启只读模式可以有效避免人为或程序错误写入。
SET GLOBAL read_only = ON;
该命令立即生效,但MySQL服务重启后会失效,需配合配置文件使用以持久化。如果从库有超级用户(如root),还需启用super_read_only防止特权用户写入:
SET GLOBAL super_read_only = ON;
super_read_only开启后,即使拥有SUPER权限的用户也无法写入,确保更高安全性。在 [mysqld] 段落下添加:
[mysqld] read_only = ON super_read_only = ON
systemctl restart mysql
注意:super_read_only依赖于read_only,若read_only未开启,super_read_only也无法启用。SHOW VARIABLES LIKE 'read_only';
SHOW VARIABLES LIKE 'super_read_only';
返回值为ON表示已启用。 尝试在从库执行写操作(如INSERT、UPDATE)应提示错误:ERROR 1290 (HY000): The MySQL server is running with the read-only option so it cannot execute this statement
SET GLOBAL read_only = OFF;
SET GLOBAL super_read_only = OFF;
操作完成后建议重新开启。 若从库需要作为其他从库的主库(级联复制),也应保持只读,除非明确需要写入。基本上就这些。合理配置read_only和super_read_only,能有效保障主从架构的数据一致性。
以上就是mysql如何配置从库只读_mysql从库只读设置方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号