mysql8之SSL加密

2023-05-16

新发现:

安装Mysql8后,查看datadir, 文件多了不少,发现都是SSL加密对应得文件*.pem

# pwd;ls -l *.pem
/data/mysqldata
-rw------- 1 mysql mysql 1676 3月  30 11:25 ca-key.pem
-rw-r--r-- 1 mysql mysql 1112 3月  30 11:25 ca.pem
-rw-r--r-- 1 mysql mysql 1112 3月  30 11:25 client-cert.pem
-rw------- 1 mysql mysql 1676 3月  30 11:25 client-key.pem
-rw------- 1 mysql mysql 1676 3月  30 11:25 private_key.pem
-rw-r--r-- 1 mysql mysql  452 3月  30 11:25 public_key.pem
-rw-r--r-- 1 mysql mysql 1112 3月  30 11:25 server-cert.pem
-rw------- 1 mysql mysql 1676 3月  30 11:25 server-key.pem

SSL加密并不是Mysql8才开始有的功能,但是在Mysql8之前的版本,这个是需要openssl手动生成或者使用mysql_ssl_rsa_setup生成密钥与证书,从Mysql8开始,在安装mysql时自动安装并且打开该功能

SSL加密(Secure Socket layer):
如果用户的传输不是通过SSL的方式,那么其在网络中数据都是以明文进行传输的,而这给别有用心的人带来了可乘之机。同样地,在我们数据库方面,如果客户端连接服务器获取数据不是使用SSL连接,那么在传输过程中,数据就有可能被窃取

文件说明

ca.pem               Self-signed CA certificate  -->客户端连接需要使用
ca-key.pem           CA private key
server-cert.pem      Server certificate
server-key.pem       Server private key
client-cert.pem      Client certificate    -->客户端连接需要使用
client-key.pem       Client private key  -->客户端连接需要使用
启动时产生RSA密钥对
private_key.pem      Private member of private/public key pair
public_key.pem       Public member of private/public key pair

数据库设置:

连到数据库查看参数的设置
mysql> show variables like '%ssl%';
+--------------------+-----------------+
| Variable_name      | Value           |
+--------------------+-----------------+
| have_openssl       | YES             |
| have_ssl           | YES             |
| mysqlx_ssl_ca      |                 |
| mysqlx_ssl_capath  |                 |
| mysqlx_ssl_cert    |                 |
| mysqlx_ssl_cipher  |                 |
| mysqlx_ssl_crl     |                 |
| mysqlx_ssl_crlpath |                 |
| mysqlx_ssl_key     |                 |
| ssl_ca             | ca.pem          |
| ssl_capath         |                 |
| ssl_cert           | server-cert.pem |
| ssl_cipher         |                 |
| ssl_crl            |                 |
| ssl_crlpath        |                 |
| ssl_fips_mode      | OFF             |
| ssl_key            | server-key.pem  |
+--------------------+-----------------+
17 rows in set (0.00 sec)

have_ssl: 表示服务器支持ssl连接了
ssl_ca /ssl_cert / ssl_key 参数代表对应的证书文件

客户端连接:

服务器端:创建两个用户,一个为使用ssl,一个不使用ssl

mysql> create user 'norusr'@'%' identified by 'test';
Query OK, 0 rows affected (0.01 sec)
mysql> create user 'sslusr'@'%' identified by 'test' require x509;
Query OK, 0 rows affected (0.00 sec)

客户端端:

# mysql -unorusr -h172.16.79.232 -ptest  ==>正常连接
mysql>
# mysql -usslusr -h172.16.79.232 -ptest   ==>无法连接,报Access denied
ERROR 1045 (28000): Access denied for user 'sslusr'@'mgr3' (using password: YES)

此时需要把服务器端的ca.perm / client-cert.perm / client-key.perm 拷贝到客户端,并更改文件的权限,连接时指定ssl-ca/ssl-cert/ssl-key参数
chown mysql:mysql ca.perm
chown mysql:mysql client-cert.perm
chown mysql:mysql client-key.perm
$ mysql -usslusr -h172.16.79.232 -ptest --ssl-ca=/data/ssl232/ca.pem --ssl-cert=/data/ssl232/client-cert.pem --ssl-key=/data/ssl232/client-key.pem
mysql>

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql8之SSL加密 的相关文章

  • 让我们加密证书颁发

    我正在尝试获取 Let s Encrypt 颁发的证书 已经过去了 3 个半小时 我不小心最初将我的 SecretName 设置为 echo tls 然后将其切换到我想使用的正确的 pandaist tls 我目前有这个 kubectl g
  • 信任库是否需要子 ca 证书?

    我正在尝试设置分层 PKI 我是否可以创建仅包含根 ca 证书的信任库 这是否意味着我的应用程序信任由子 ca 证书签名的证书 而子 ca 证书又由根 ca 签名 顺便说一句 您似乎必须提供整个证书链 包括根 ca 证书 当然 如果根 ca
  • Facebook JavaScript SDK 通过 HTTPS 加载非安全项目

    我有一个 Facebook 应用程序 使用Facebook Connect js https connect facebook net en US all js 我正在通过 HTTPS 运行我的应用程序 网站上的所有内容均来自https 但
  • JavaMail Gmail 问题。 “准备启动 TLS”然后失败

    mailServerProperties System getProperties mailServerProperties put mail smtp port 587 mailServerProperties put mail smtp
  • Azure 共享计划上的 SSL?

    我有 1 个网站 1 个数据库和 1 个 SSL 托管在 azure 上 我曾经拥有 基本 托管套餐 但每个月要支付 70 美元才能获得基本设置 并且所有内容都具有最小的缩放比例 我意识到我的低流量站点不需要专用计算机 因此我尝试转向共享计
  • 如何配置 Google 计算引擎以对 Nodejs 服务器使用 HTTPS?

    我想使用 https SSL 在 google 计算引擎中运行 nodejs 和 socket io 服务器 我安装了自签名证书https cloud google com compute docs load balancing http
  • 如何使用httplib2进行相互证书认证

    我正在使用 httplib2 从我的服务器向另一个 Web 服务发出请求 我们想要使用相互证书身份验证 我了解如何使用证书进行传出连接 h set certificate 但是如何检查应答服务器使用的证书 这张票 http code goo
  • 应用程序网关中的 SSL 证书到期日期

    我们有一个带有 SSL 证书的 Azure 应用程序网关 我们知道我们的证书即将过期 我们需要更新它 我们的问题是 我们无法获取网关信息中的实际到期日期 至少无法从门户获取 有人知道我们可以在哪里检索此信息吗 可能没有直接从 Azure 门
  • 使用.pem文件在java中发送https请求

    我有包含证书 私钥和信任链的 pem 文件 以及我使用它生成的 p12 文件openssl pkcs12 导出 openssl pkcs12 export out file p12 in file pem inkey file pem pa
  • 使用 AAACertificateServices 证书的域示例

    如何找到根证书为的域AAA证书服务 https support sectigo com Com KnowledgeDetailPage Id kA03l00000117cL 请注意 这是 Comodo 证书 为了准备一个其证书即将更改的依赖
  • 如何显示证书的主题备用名称?

    我发现的最接近的答案是使用 grep gt openssl x509 text noout in cert pem grep DNS 有更好的方法吗 我只喜欢命令行 Thanks 较新版本的 openssl 有一个 ext 选项 允许您仅打
  • com.ibm.msg.client.jms.DetailedJMSException:JMSWMQ0018:无法使用连接模式“yyy”和主机名“zzz”连接到队列管理器“xxx”

    JMS 应用程序需要七个参数才能与此处给出的 MQ 系列成功建立 SSL 连接 https github com ibm messaging mq tls ssl wizard blob master com ibm mq ssl wiza
  • 有什么简单的方法可以完全忽略带有 java url 连接的 ssl ?

    我正在构建一个应用程序 定期检查一些 RSS 提要是否有新内容 其中一些提要只能通过 https 访问 有些具有自签名或以某种方式损坏的证书 我仍然希望能够检查它们 请注意 安全性在此应用程序中不是问题 目标是以最小的努力访问内容 我使用此
  • 使用 C# 使用证书进行 SSL 客户端身份验证

    我需要创建一个 C 应用程序 该应用程序必须使用 SSL 向服务器发送 API 请求 我需要创建客户端身份验证 我已经拥有服务器 CA 证书 客户端证书 cer 客户端私钥 pem 和密码 我找不到有关如何创建客户端连接的示例 有人可以建议
  • Bower 安装 self_signed_cert_in_chain

    我正在 Windows 中使用 git bash 构建一个角度应用程序 到目前为止 我已经能够使用 yo 搭建脚手架 没有问题 但是当我尝试发出以下命令时 有人可以指出我来解决这个问题吗 Bower 安装 Angular Bootstrap
  • Spring WebFlux Netty SSL 与自签名证书错误

    我正在尝试使用服务器端的自签名证书通过本地主机中的 https 访问在 Netty 上运行的 Spring Boot 应用程序 My application properties看起来像这样 server ssl enabled true
  • 在 SSLwrapp() 之前在原始套接字上接收/发送,Python

    我想知道在包装原始套接字之前是否可以在原始套接字上接收 发送数据 我已经查看了文档并搜索了它 但找不到任何具体内容 我基本上想做的事情 client addr listeningSocket accept client recv 32 cl
  • 对 Rails 3.1 中的特定路由强制使用 SSL

    我需要强制启用 SSL所有路线在我的申请中除了landing index In config application rb 我有 config force ssl true Then in landing controller rb 我有
  • 如何使用自签名证书为 TLS 创建 iOS NWConnection?

    我正在尝试将 Apple 的新 NWConnection 类用于我的 MQTT 客户端 为了进行测试 我需要能够创建到本地测试代理的 TLS 连接 该代理具有自签名证书 到目前为止 我只是使用以下命令设置连接 self connection
  • nginx - 使用 ssl 支持设置多个 server_name

    我很想使用 nginx 来为具有多个域名和 SSL 的网站提供服务 webmail example com webmail beispiel de 两者都使用相同的虚拟主机 因此我只设置 server name 两次 问题是 我需要 ngi

随机推荐

  • 深度学习环境搭建(四)之 CUDNN安装

    安装完CUDA Driver和CUDA后 xff0c 还需要安装CUDNN xff0c NVIDIA用于深度学习GPU加速的库 1 下载CUDNN 访问官网链接 xff0c 根据CUDA版本和Ubuntu版本选择CUDNN的版本 前面使用的
  • NMAP 六种端口状态解读

    NMAP 简介 nmap 是一款功能非常强大的扫描工具 xff0c 不仅能对端口扫描 xff0c 还可以在扫描中指定自定义的标志位 xff0c 对自己的 IP 地址进行隐藏伪装为别的 IP 地址 xff0c 还可以根据 nmap 数据库 x
  • IP ID idle 扫描

    IP ID idle 扫描简单介绍 在1998年的时候 xff0c 一个名叫 Antirez 的工程师 xff0c 发现了这种扫描技术 xff0c 攻击者可以通过不直接向目标主机发送报文的形式 xff0c 进行端口扫描 xff0c 而是通过
  • CentOS下编译Linux内核

    前言 编译内核是一项很简单的事情 xff0c 但却是进入Linux内核世界的第一步 xff0c 想要开发内核代码 xff0c 想要了解内核的运行机制 xff0c 第一步就是编译Linux内核 xff0c 以下是在centos7 5环境下编译
  • CentOS下快速升级gcc版本

    前言 很多时候由于gcc版本过低问题 xff0c 导致我们举步维艰 xff0c 从gcc官网下载源码编译又比较费时费力 xff0c 今天我就给大家分享一个快速升级gcc的方法 升级到gcc 6 3 xff1a devtoolset 6已经结
  • Linux带宽测试

    iperf是linux下一款非常实用的测带宽工具 xff0c 是C S模型的 xff0c 支持使用TCP和UDP测试 xff0c 可以测试带宽 xff0c 丢包 xff08 丢包指的是UDP的丢包 xff0c TCP丢包会重传 xff09
  • initramfs详解-----初识initramfs

    为什么需要initramfs 在Linux内核被加载到内存并运行后 xff0c 内核进程最终需要切换到用户太的进程来使用计算机 xff0c 而用户进程又存在于外存储设备上 xff0c 比如systemd进程 xff0c 通常systemd进
  • 抓包展示vlan报文(8021Q)

    VLAN数据帧格式 要使交换机能够分辨不同VLAN的报文 xff0c 需要在报文中添加标识VLAN信息的字段 IEEE 802 1Q协议规定 xff0c 在以太网数据帧的目的MAC地址和源MAC地址字段之后 协议类型字段之前加入4个字节的V
  • KVM NAT 模型

    目录 NAT原理 virbr0与virbr0 nic virbr0 nic作用 关于kvm中的网桥和virbr0 nic网卡需注意以下几点 xff1a NAT原理 virbr0与virbr0 nic zyq 64 zyq ip a 6 vi
  • Linux查看实时网卡流量的几种方式

    工作中 xff0c 我们经常需要查看服务器的实时网卡流量 通常 xff0c 我们会通过这几种方式查看Linux服务器的实时网卡流量 1 sar n DEV 1 2 sar命令包含在sysstat工具包中 xff0c 提供系统的众多统计数据
  • NUMA详解

    目录 NUMA简介 NUMA开启与关闭 查看系统是否支持 关闭方法 numactl hardware介绍 没有安装numactl工具下查看NUMA架构节点数 xff1a 查看每个NUMA节点的CPU使用情况 xff1a 看每个NUMA节点的
  • OpenStack中的CPU与内存超分详解

    目录 什么是超分 CPU超分 查看虚拟机虚拟CPU运行在哪些物理CPU上 内存超分 内存预留 内存共享 如何设置内存预留和内存共享 全局设置 临时设置 什么是超分 超分通常指的是CPU或者GPU的分区或者分割 xff0c 以在一个物理CPU
  • docker 官方的镜像大多基于debian,但是官方源apt-get update更新失败,如何更换成中国源

    一开始创建容器的时候就应该更换成国内数据源 xff0c 可是我的镜像源在经历重启后 xff0c 回归到官方镜像源 xff0c 当想安装别的linux命令时 xff0c 异常缓慢 xff0c 安装不上 这种情况就是镜像源导致 镜像源可以在容器
  • MySQL学习笔记(11)——创建视图

    11 视图 11 1 创建视图 创建视图的语法 创建视图使用CREATE VIEW语句 xff0c 基本语法格式如下 xff1a span class token keyword create span span class token p
  • Java 实现天气预报

    效果图 1 登录高德地图API开放平台 天气查询 API文档 开发指南 Web服务 API 高德地图API 2 用户在高德地图官网申请web服务API类型KEY 3 天气查询 天气查询API服务地址 xff1a URL https rest
  • 数学建模学习(1)———— 逻辑回归的使用和案例(2022.7.18)

    许多数学建模的使用基本都是一元线性回归 xff0c 和多元线性回归开始 xff0c 但由于经常看关于这两个东西 xff0c 实在不想从这开始整理笔记 xff0c 等后面印象不深后在整理过 文章目录 目录 文章目录 一 逻辑回归介绍 二 逻辑
  • Windows下python和pip的环境配置 ---转载

    本文转载于 xff1a http www cnblogs com yuanzm p 4089856 html 非常感谢原文作者的博文 xff0c 帮助了我学习的不少困惑 这篇文章作为学习使用Python的第一篇文章 xff0c 如何安装Py
  • GreenHills的使用及常用技巧

    GreenHills作为世界知名第三方调试工具支持市面上几乎所有芯片 V850调试工具有多种选择 当时项目使用Greenhills作为编译调试工具让我见识到了专业工具的强大 本文以KPIT AutoSAR的PORT模块为例介绍GreenHi
  • LaTeX 中处理参考文献的三种方法总结

    LaTeX 中处理参考文献的三种方法总结 方法一 xff1a 用BibLaTeX处理 分成如下四步 xff1a 第一步 xff1a 制作生成bib文件 xff1b 第二步 xff1a 在导言区需要加入biblatex宏包 xff1a use
  • mysql8之SSL加密

    新发现 xff1a 安装Mysql8后 xff0c 查看datadir 文件多了不少 xff0c 发现都是SSL加密对应得文件 pem pwd ls l pem data mysqldata rw 1 mysql mysql 1676 3月