新闻中心

mysql镜像配置如何设置SSL加密_mysql镜像配置SSL安全连接配置教程

2025-11-21
浏览次数:
返回列表
配置MySQL镜像SSL加密需生成证书并挂载至容器,通过my.cnf启用SSL,设置require_secure_transport=ON强制加密连接,启动后验证h*e_ssl=YES及连接加密状态,客户端连接时指定CA证书以确保安全通信。

mysql镜像配置如何设置ssl加密_mysql镜像配置ssl安全连接配置教程

MySQL 镜像配置 SSL 加密是为了在客户端与数据库服务器之间建立安全连接,防止数据在传输过程中被窃听或篡改。尤其是在使用 Docker 部署 MySQL 时,正确配置 SSL 是保障数据通信安全的重要步骤。下面介绍如何为 MySQL 镜像配置 SSL 安全连接。

生成 SSL 证书和密钥

MySQL 使用 OpenSSL 来实现 SSL 加密连接。你需要为服务器生成自签名证书和私钥,也可以使用 CA 签发的证书。

在主机上执行以下命令生成所需的文件:

# 创建存放证书的目录
mkdir -p ./mysql-ssl
cd ./mysql-ssl
<h1>生成 CA 私钥和证书</h1><p>openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca.pem -subj "/CN=MySQL CA"</p><h1>生成服务器私钥和证书请求</h1><p>openssl req -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem -out server-req.pem -subj "/CN=mysql-server"
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3650 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem</p><h1>生成客户端证书(可选,用于双向认证)</h1><p>openssl req -newkey rsa:2048 -days 3650 -nodes -keyout client-key.pem -out client-req.pem -subj "/CN=mysql-client"
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 3650 -CA ca.pem -CAkey ca-key.pem -set_serial 02 -out client-cert.pem</p>

生成后你会得到以下几个关键文件:

  • ca.pem:CA 根证书
  • server-cert.pem:服务器证书
  • server-key.pem:服务器私钥
  • client-cert.pemclient-key.pem:客户端证书和私钥(如需双向验证)

配置 MySQL 镜像启用 SSL

使用官方 MySQL 镜像时,可以通过挂载证书文件并配置 my.cnf 来启用 SSL。

创建配置文件 my.cnf

[mysqld]
ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/server-cert.pem
ssl-key=/var/lib/mysql/server-key.pem
require_secure_transport=ON

说明:

  • ssl-cassl-certssl-key 指定证书路径
  • require_secure_transport=ON 强制所有连接必须使用 SSL

编写 docker-compose.yml 文件示例:

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
    ports:
      - "3306:3306"
    volumes:
      - ./mysql-ssl:/var/lib/mysql
      - ./my.cnf:/etc/mysql/conf.d/ssl.cnf
    command: ['--default-authentication-plugin=mysql_native_password']

启动容器:

docker-compose up -d

验证 SSL 是否生效

进入 MySQL 容器并登录:

Magick Magick

无代码AI工具,可以构建世界级的AI应用程序。

Magick 225 查看详情 Magick
docker exec -it mysql-container mysql -u root -p

执行以下 SQL 查看 SSL 状态:

SHOW VARIABLES LIKE '%ssl%';

输出中应看到:

  • h*e_ssl 的值为 YES
  • ssl_cassl_certssl_key 显示正确路径

查看当前连接是否使用 SSL:

STATUS;

在输出中查找 “SSL” 字段,若显示 Cipher 则表示连接已加密。

客户端连接配置(例如使用 MySQL Workbench 或命令行)

连接时需要指定 CA 证书以验证服务器身份。

  • 在 MySQL Workbench 中新建连接,选择“SSL”标签页
  • 设置“SSL CA File”为本地的 ca.pem
  • 可选:上传客户端证书用于双向认证

命令行连接示例:

mysql -h 127.0.0.1 -u root -p \
  --ssl-mode=VERIFY_CA \
  --ssl-ca=./mysql-ssl/ca.pem \
  --ssl-cert=./mysql-ssl/client-cert.pem \
  --ssl-key=./mysql-ssl/client-key.pem

ssl-mode 可选值:

  • PREFERRED:优先使用 SSL
  • REQUIRED:必须使用 SSL(不验证证书)
  • VERIFY_CA:验证服务器证书是否由可信 CA 签发
  • VERIFY_IDENTITY:额外验证主机名

基本上就这些。只要证书生成正确、文件挂载无误、配置项写对,MySQL 镜像就能成功启用 SSL 加密连接。生产环境建议使用正式 CA 签发的证书,并开启双向认证增强安全性。

以上就是mysql镜像配置如何设置SSL加密_mysql镜像配置SSL安全连接配置教程的详细内容,更多请关注其它相关文章!


# 命令行  # 快速seo软件哪家好  # 网站的推广采用火14星  # 渭南网站建设与规划招聘  # 怎么看自己的关键词排名  # 吴江区营销推广平台  # 1688智能营销推广  # 抖音关键词查排名怎么查  # 浙江seo综合查询  # 营销手段推广品牌方案  # 花店营销网站建设  # 数据丢失  # 可选  # 连接数  # mysql镜像配置  # 如何设置  # 要注意  # 客户端  # 镜像  # 离线  # red  # 配置文件  # ai  # ssl  # docker  # node  # word  # mysql 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: Django AJAX 文件上传教程:解决图片无法保存到模型的常见问题  poki免费入口快捷访问 poki人气小游戏直接玩站点  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  绝地鸭卫平a核爆刀流玩法攻略  《主播少女的秘密账号迷宫》首支宣传片  HTML5原生日期选择器与jQuery UI:实现日期选择器的联动与程序化控制  TikTok评论显示延迟如何处理 TikTok评论刷新优化方法  黑鲨3Pro怎样在相册开漫画风滤镜_iPhone黑鲨3Pro相册开漫画风滤镜【趣味滤镜】  163邮箱网页版入口导航平台 163邮箱网页版登录入口官网导航  优化Log4j2控制台输出性能:解决异步日志瓶颈  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  地铁跑酷免费秒玩入口链接 地铁跑酷小游戏免费秒玩网站  AO3最新可访问网址 Archive of Our Own官方在线入口  豆包手机助手发布技术预览版:直接嵌入手机系统!努比亚样机发售  Go语言中Map存储的结构体如何调用指针方法:深入解析与实践  在J*a中如何使用Stream.map转换元素_Stream映射操作解析  火锅吃太多会怎样 火锅吃太多会上火吗  小米汽车11月交付量突破40000台!雷军:将继续努力  如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率  Mac怎么锁定备忘录_Mac备忘录加密设置教程  Node.js中HTML按钮与J*aScript函数交互的正确姿势  红果短剧网页版官网入口 官方最新网址发布  谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航  小猿搜题在线学习页面在哪_小猿搜题在线学习中心入口  海棠电脑版入口_通过电脑访问海棠官网阅读  在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析  QQ邮箱官网登录入口 QQ邮箱网页版邮箱快速登录  曝R星经典之作开发图 设计简陋但信息密集!  Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法  漫蛙漫画官方主页入口 漫蛙MANWA网页直达访问链接  Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换  NRF24L01数据传输深度解析:解决大载荷接收异常与分包策略  京东京造J1和网易云音乐氧气真无线有什么不同_国产电商蓝牙耳机音质对比  必由学官网入口 必由学教师登录入口  腾讯QQ邮箱登录入口_QQ邮箱官方网站使用地址  批改网学生版PC登录 批改网官网登录系统入口  AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南  印象笔记如何设离线包出差查阅_印象笔记设离线包出差查阅【离线阅读】  CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示  解决Python logging 中 datefmt 导致时间戳固定不变的问题  2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享  Steam官网入口直达 Steam注册及登录步骤  俄罗斯方块最新版入口 俄罗斯方块在线玩官网入口  J*aScript动态修改指定div内所有a标签样式指南  Golang如何实现状态模式管理对象状态_Golang State模式实现技巧  顺丰快递查询系统 官方正版查询入口  Pandas DataFrame:高效添加条件计算列  字由网在线版登录地址 字由网网页版安全入口  利用Bokeh CustomJS动态控制DataTable列可见性  sublime怎么格式化代码_sublime代码美化与一键排版插件配置 

搜索