mysql镜像配置如何设置只读模式_mysql镜像配置只读账户与模式设置方法

星夢妙者
发布: 2025-11-28 13:48:44
原创
691人浏览过
启用 read_only 和 super_read_only 参数并创建只读账户,可确保 MySQL 镜像实例处于安全只读状态,适用于从库或数据分析场景。

mysql镜像配置如何设置只读模式_mysql镜像配置只读账户与模式设置方法

MySQL 镜像配置只读模式,通常用于主从复制架构中的从库(Slave),防止数据被意外修改。设置方式包括启用数据库实例的只读模式以及创建只读账户,两者结合使用更安全。下面详细介绍如何在 MySQL 镜像中配置全局只读模式和只读用户。

启用 MySQL 全局只读模式

在从库上启用 read_only 可防止普通用户执行写操作。只有拥有 SUPER 或 SYSTEM_VARIABLES_ADMIN 权限的用户才能绕过该限制。

通过 SQL 命令开启只读模式:

SET GLOBAL read_only = ON;
登录后复制

若需持久化设置,避免重启后失效,应在 MySQL 配置文件中添加:

[mysqld]
read_only = 1
登录后复制

对于 Docker 部署的 MySQL 镜像,可在启动容器时挂载自定义配置文件,或通过环境变量方式注入配置。

配置 super_read_only(增强安全性)

即使设置了 read_only,拥有 SUPER 权限的用户仍可写入。为彻底禁止写操作,建议同时启用:

SET GLOBAL super_read_only = ON;
</font><p>该设置会阻止 SUPER 用户执行写操作,进一步提升从库安全性。同样可写入配置文件永久生效:</p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/2169">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175680363012129.png" alt="摩笔天书">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/2169">摩笔天书</a>
                            <p>摩笔天书AI绘本创作平台</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="摩笔天书">
                                <span>135</span>
                            </div>
                        </div>
                        <a href="/ai/2169" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="摩笔天书">
                        </a>
                    </div>
                <font face="Courier New"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">
[mysqld]
read_only = 1
super_read_only = 1
登录后复制
登录后复制

创建只读数据库账户

除了实例级只读,还应为应用创建权限受限的只读账号,遵循最小权限原则。

创建一个只能查询的用户示例:

CREATE USER 'readonly'@'%' IDENTIFIED BY 'your_password';
GRANT SELECT ON your_database.* TO 'readonly'@'%';
FLUSH PRIVILEGES;
登录后复制

如需限制连接来源,可将 '%' 替换为具体 IP 或内网网段。避免授予 INSERT、UPDATE、DELETE、DROP 等写权限。

Docker 环境下的配置方法

若使用官方 MySQL 镜像部署,可通过挂载配置文件实现开机自动启用只读:

  • 创建配置文件 my.cnf
[mysqld]
read_only = 1
super_read_only = 1
登录后复制
  • 启动容器时挂载配置:
docker run -d \
  --name mysql-slave \
  -v /path/to/my.cnf:/etc/mysql/conf.d/readonly.cnf \
  -e MYSQL_ROOT_PASSWORD=secret \
  mysql:8.0
登录后复制

配置文件放在 /etc/mysql/conf.d/ 目录下会自动加载。

基本上就这些。通过开启 read_only 和 super_read_only 参数,并配合只读账户,能有效保障 MySQL 镜像实例处于安全的只读状态,特别适用于从库或数据分析场景。

以上就是mysql镜像配置如何设置只读模式_mysql镜像配置只读账户与模式设置方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号