当前位置: 首页 > news >正文

查看MySQL服务器是否启用了SSL连接,并且查看ssl证书是否存在

文章目录

一、查看MySQL服务器是否启用了SSL连接

1.登录MySQL服务器

2.查看SSL配置

二、查看证书是否存在


前言

查看MySQL服务器是否启用了SSL连接,并且查看ssl证书是否存在

一、查看MySQL服务器是否启用了SSL连接

1.登录MySQL服务器

在Linux终端中,可以通过以下命令登录MySQL服务器:

mysql -u username -p

其中,username为MySQL服务器的用户名。执行该命令后,会提示输入密码。

2.查看SSL配置

登录MySQL服务器后,可以使用以下命令查看SSL配置:

SHOW VARIABLES LIKE '%ssl%';

该命令将显示MySQL服务器的SSL配置信息,例如:

+---------------+---------------------------------+
| Variable_name | Value                           |
+---------------+---------------------------------+
| have_openssl  | YES                             |
| have_ssl     | YES                             |
| ssl_ca       | /etc/mysql/ssl/ca-cert.pem      |
| ssl_capath   |                                 |
| ssl_cert     | /etc/mysql/ssl/server-cert.pem  |
| ssl_cipher   |                                 |
| ssl_key      | /etc/mysql/ssl/server-key.pem   |
+---------------+---------------------------------+

其中,have_ssl的值为YES表示MySQL服务器启用了SSL连接。如果have_ssl的值为NO,则表示MySQL服务器未启用SSL连接。

如果MySQL服务器启用了SSL连接,还需要检查客户端是否配置了SSL证书。如果客户端未配置SSL证书,则无法使用SSL连接。具体的SSL连接配置可以参考MySQL官方文档。

二、查看证书是否存在

2.1、检查存在与否

你可以通过在终端中运行以下命令来检查MySQL服务器是否启用了SSL连接:

mysql -u <用户名> -p --ssl-mode=REQUIRED -e "SHOW STATUS LIKE 'Ssl_cipher'"

其中 `<用户名>` 是你的MySQL用户名。运行该命令后,系统会提示你输入MySQL密码。如果MySQL服务器已经启用SSL连接,命令行会返回一个类似于 `Ssl_cipher | AES128-SHA` 的输出。如果没有启用SSL连接,命令行会返回一个空的输出。

 2.2、不存在的解决方法

如果你运行 `SHOW STATUS LIKE 'Ssl_cipher'` 命令返回的结果为空,说明MySQL服务器没有启用SSL连接。

要启用MySQL服务器的SSL连接,你需要完成以下步骤:

1. 生成SSL证书和密钥文件。你可以使用以下命令生成SSL证书和密钥文件:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/mysql/ssl/mysql-server.key -out /etc/mysql/ssl/mysql-server.crt

   这条命令将在 `/etc/mysql/ssl/` 目录下生成一个名为 `mysql-server.crt` 的证书文件和一个名为 `mysql-server.key` 的私钥文件。

2. 修改MySQL配置文件。

你需要编辑MySQL配置文件 `/etc/mysql/mysql.conf.d/mysqld.cnf`

并添加以下几行:

   [mysqld]
   ssl=ON
   ssl-cert=/etc/mysql/ssl/mysql-server.crt
   ssl-key=/etc/mysql/ssl/mysql-server.key

   这些配置将启用MySQL服务器的SSL连接,并指定证书和密钥文件所在的路径。

此处的wq是要按esc键,再加入的!!!! 

3. 重新启动MySQL服务器。你需要重新启动MySQL服务器以使配置生效:

    sudo systemctl restart mysql

   运行以上命令后,MySQL服务器就会启用SSL连接。

4. 检查SSL连接是否启用。你可以再次运行以下命令来检查MySQL服务器是否启用了SSL连接:

     mysql -u <用户名> -p --ssl-mode=REQUIRED -e "SHOW STATUS LIKE 'Ssl_cipher'"

   如果MySQL服务器已经启用SSL连接,命令行会返回一个类似于 `Ssl_cipher | AES128-SHA` 的输出。

再次运行上述的代码

2.3、如果2.2的方法使用完成之后还是不能正常的使用ssl证书,试一下这种方法

如果你已经按照之前提供的方法安装和配置了 MySQL 的 SSL 连接,但是在连接 MySQL 时仍然没有 SSL 值,那么可能是因为你未能正确地启用 SSL。

首先,你需要检查你的 MySQL 服务器是否已经启用了 SSL。你可以使用以下命令来检查:

SHOW VARIABLES LIKE '%ssl%';

如果你看到 `have_ssl` 的值为 `YES`,那么 SSL 已经启用。如果不是,你需要启用它。

在 Ubuntu 16.04 上启用 MySQL 的 SSL 连接,你需要在 MySQL 配置文件中添加以下行:

ssl-ca=/path/to/ca-cert.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem

其中 `/path/to/ca-cert.pem` 指向你的 CA 证书文件,`/path/to/server-cert.pem` 指向你的服务器证书文件,`/path/to/server-key.pem` 指向你的服务器私钥文件。

启用 SSL 之后,你需要重启 MySQL 服务器以使更改生效。你可以使用以下命令重启 MySQL 服务:

sudo service mysql restart

之后,你应该能够成功连接到 MySQL 并看到 SSL 值为 `Cipher in use is...`。如果仍然没有 SSL 值,你可以尝试在连接字符串中显式地指定 SSL:

jdbc:mysql://hostname:port/dbname?verifyServerCertificate=false&useSSL=true&requireSSL=true

其中 `useSSL=true` 表示启用 SSL,`requireSSL=true` 表示连接必须使用 SSL。

在 Ubuntu 16.04 上,MySQL 的配置文件位于 `/etc/mysql/mysql.conf.d/mysqld.cnf`。你需要使用 root 权限编辑该文件以添加 SSL 配置。你可以使用以下命令打开该文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

然后在 `[mysqld]` 部分添加以下行:

ssl-ca=/path/to/ca-cert.pem
ssl-cert=/path/to/server-cert.pem
ssl-key=/path/to/server-key.pem

其中 `/path/to/ca-cert.pem` 指向你的 CA 证书文件,`/path/to/server-cert.pem` 指向你的服务器证书文件,`/path/to/server-key.pem` 指向你的服务器私钥文件。请确保将这些路径替换为你自己的路径。

 完成后保存并退出该文件,然后重启 MySQL 服务器以使更改生效:

sudo service mysql restart

这样,MySQL 就已经启用了 SSL 连接。

总结

以上就是今天的内容~

最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。

相关文章:

查看MySQL服务器是否启用了SSL连接,并且查看ssl证书是否存在

文章目录 一、查看MySQL服务器是否启用了SSL连接 1.登录MySQL服务器 2.查看SSL配置 二、查看证书是否存在 前言 查看MySQL服务器是否启用了SSL连接&#xff0c;并且查看ssl证书是否存在 一、查看MySQL服务器是否启用了SSL连接 1.登录MySQL服务器 在Linux终端中&#xf…...

华为OD机试真题 Java 实现【表示数字】【牛客练习题】

一、题目描述 将一个字符串中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。 数据范围:字符串长度满足1≤n≤100 。 二、输入描述 输入一个字符串。 三、输出描述 字符中所有出现的数字前后加上符号“*”,其他字符保持不变。 四、解题思路…...

使用Python进行接口性能测试:从入门到高级

前言&#xff1a; 在今天的网络世界中&#xff0c;接口性能测试越来越重要。良好的接口性能可以确保我们的应用程序可以在各种网络条件下&#xff0c;保持流畅、稳定和高效。Python&#xff0c;作为一种广泛使用的编程语言&#xff0c;为进行接口性能测试提供了强大而灵活的工…...

sed编辑器

文章目录 一.sed命令基础1.sed概念2.sed的工作流程3.命令格式4.sed命令的常用选项5.sed命令的操作符 二.sed命令的打印功能1.打印文本文件内容1.1 格式1.2 默认打印方式 2.指定行打印2.1 指定行号打印2.2 只打印文件的行数2.3 即打印文件的行号也打印文件的内容2.4 即显示行也显…...

深入理解深度学习——正则化(Regularization):稀疏表示

分类目录&#xff1a;《深入理解深度学习》总目录 另一种策略是惩罚神经网络中的激活单元&#xff0c;稀疏化激活单元。这种策略间接地对模型参数施加了复杂惩罚。我们已经在《深入理解深度学习——正则化&#xff08;Regularization&#xff09;&#xff1a;参数范数惩罚》中讨…...

【Android】分别用JAVA和Kotlin实现横向扫描的动画效果

Android 横向扫描的动画可以通过使用 ViewPropertyAnimator 和 ObjectAnimator 来实现。 首先&#xff0c;在 XML 布局文件中创建一个 ImageView&#xff0c;并设置其宽度为 0dp&#xff0c;高度为 match_parent。然后&#xff0c;创建一个横向的渐变色 Drawable&#xff0c;并…...

长尾词挖掘,如何选择精准的长尾词优化?

长尾词的挖掘也是一门大学问&#xff0c;它存在多种不同的方法。最常用的方法是把关键词直接放搜索引擎的搜索框搜索和使用长尾词挖掘工具这两种。 以运动水壶为例。 关键词直接放搜索引擎的搜索框搜索&#xff0c;结果如下&#xff1a; 使用长尾词挖掘工具&#xff0c;…...

Python相关环境变量配置和模拟手机app登录

【java环境变量配置】 接着&#xff0c;打开系统->高级系统设置->环境变量。新建一个JAVA_HOME C:\Program Files\Java\jdk1.8.0_201&#xff08;这里是你的安装路径&#xff0c;最好复制粘贴&#xff09; 然后在Path下添加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 然后…...

c++ 11标准模板(STL) std::map(九)

定义于头文件<map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class map;(1)namespace pmr { template <class Key, class T, clas…...

深入探索chatGPT插件:SceneXplain,Wolfram,和AppyPieAIAppBuilder

1. 引言 在这个日益依赖技术的世界中&#xff0c;AI插件已经成为了我们日常生活和工作的重要组成部分。在这篇博客中&#xff0c;我们将深入探索三个强大的AI插件&#xff1a;SceneXplain&#xff0c;Wolfram&#xff0c;和AppyPieAIAppBuilder&#xff0c;了解他们的功能&…...

华为OD机试真题B卷 Java 实现【停车场车辆统计】,附详细解题思路

一、题目描述 特定大小的停车场&#xff0c;数组cars[]表示&#xff0c;其中1表示有车&#xff0c;0表示没车。 车辆大小不一&#xff0c;小车占一个车位&#xff08;长度1&#xff09;&#xff0c;货车占两个车位&#xff08;长度2&#xff09;&#xff0c;卡车占三个车位&a…...

第二章:MySQL环境搭建

第二章&#xff1a;MySQL环境搭建 2.1&#xff1a;MySQL的下载、安装、配置 MySQL的四大版本 MySQL Community Server社区版本&#xff1a;开源免费、自由下载&#xff0c;但不提供官方技术支持&#xff0c;适用于大多数普通用户。MySQL Enterprise Edition企业版本&#xff1…...

生产环境之负载均衡LVS+keepalived方案(2)_LVS介绍

LVS简介 LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&#xff0c;linux内核2.6.X之后的版本默认已集成了LVS模块&#xff08;内核模块名为&#xff1a;ipvs&#xff09;&#xff0c;实现了基于传输层的请求负载均衡调度方案&#xff0c;LVS支持的工作模…...

【parsel】------- PYTHON爬虫基础4

parsel 这个库可以对 HTML 和 XML 进行解析&#xff0c;并支持使用 XPath 和 CSS Selector 对内容进行提取和修改&#xff0c;同时它还融合了正则表达式提取的功能。 内容目录 from parsel import Selector提取节点提取 class 包含 item-0 的节点 提取文本获取提取到的所有 li…...

MySQL数据库从入门到精通学习第8天(表数据的查询)

表数据的查询 基本查询语句单表查询聚合函数查询多表连接查询子查询合并查询结果定义表和字段的别名使用正则表达式查询 基本查询语句 SELECT 语句非常的强大&#xff0c;是最常用的查询语句。他具有一个固定的格式&#xff0c;如下&#xff1a; SELECT 查询的内容 FROM 数据…...

什么是IPAM?如何使用IPAM来管理IP地址和DHCP?

在计算机网络中&#xff0c;IPAM&#xff08;IP Address Management&#xff09;是一种用于管理IP地址和DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;的工具或系统。IPAM旨在简化和集中管理IP地址分配、子网划分和DHCP配置等任务。本文将详细介绍IPAM的概…...

PCIE学习

目录 一、PCIE结构1、层次结构2、数据包TLPDLLP PCIE寄存器配置1、基址寄存器的作用2、基址寄存器的位置 三、PCIE读取数据 一、PCIE结构 1、层次结构 绝大多数的总线或者接口&#xff0c;都是采用分层实现的。PCIe也不例外&#xff0c;它的层次结构如下&#xff1a; PCIe定…...

商业智力,Social焕新|数说故事重磅发布“SocialGPT”,国内首个专注Social领域的商业大模型

AGI时代的到来&#xff0c;市场风云变幻&#xff0c;世界正在经历着一场技术革命的颠覆性洗礼。 2023年6月6日6时&#xff0c;数说故事正式对外发布数说故事“SocialGPT”&#xff0c;国内首个专注Social领域的商业大模型。数说故事“SocialGPT”大家昵称它为“社牛”大模型&a…...

STM32HAL库RS485-ModBus协议控制伺服电机

STM32HAL库RS485-ModBus协议控制伺服电机 一个月前&#xff0c;接手了一个学长的毕设小车&#xff0c;小车采用rs485通信的modbus协议驱动轮毂电机&#xff0c;与往常我学习的pwm控制电机方法大相径庭&#xff0c;在这里以这篇博客记录下该学习过程。 小车主要架构 电机型号 …...

【医学图像】图像分割系列.3 (uncertainty)

介绍几篇使用不确定性引导的医学图像分割论文&#xff1a;UA-MT&#xff08;MICCAI2019&#xff09;&#xff0c;SSL4MIS&#xff08;MICCAI2021&#xff09;&#xff0c;UG-MCL&#xff08;AIIM2022&#xff09;. Uncertainty-aware Self-ensembling Model for Semi-supervise…...

Captain AI:Ozon俄文内容本地化,打破语言壁垒,贴合本土需求

俄文内容本地化是Ozon商家立足俄罗斯市场的核心前提&#xff0c;Ozon平台95%以上的用户为俄语母语者&#xff0c;纯中文或机翻的内容不仅会导致搜索曝光降低&#xff0c;还可能因语言错误引发合规风险、影响买家信任。然而&#xff0c;国内商家普遍面临“俄语专业人才短缺、机翻…...

洛圣都生存指南:YimMenu开源游戏增强工具与安全防护系统深度解析

洛圣都生存指南&#xff1a;YimMenu开源游戏增强工具与安全防护系统深度解析 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trendi…...

Vibe Coding 实战:我用一条 Prompt 指挥 AI “盲盒式”生成 3D 积木物理世界

&#x1f680; Vibe Coding 实战&#xff1a;我用一条 Prompt 指挥 AI “盲盒式”生成 3D 积木物理世界&#xff09;一、 引言&#xff1a;欢迎来到 Vibe Coding 时代1.1 什么是 Vibe Coding&#xff1f;从“一行行敲代码”到“用直觉与语义编程”的范式转变1.2 为什么选择 3D …...

Python小白也能学会!3个月蜕变AI应用开发者的收藏秘籍

本文针对程序员&#xff0c;特别是只会CRUD的开发者&#xff0c;提供了学习大模型的实用路径。文章强调大模型应用开发是“低门槛、高上限”的方向&#xff0c;并给出了一个12步学习路线&#xff0c;涵盖Python基础、Transformer理解、提示词工程、RAG等&#xff0c;以及LangCh…...

工控机厂家怎么选?20年从业者告诉你这5个关键点

在工业自动化领域&#xff0c;工控机的选择直接关系到生产线的稳定运行。作为一名在工业电脑行业摸爬滚打20年的从业者&#xff0c;我见过太多企业因为选错厂家而付出惨痛代价——设备频繁故障、售后推诿扯皮、项目延期损失百万。今天&#xff0c;我就从专业角度告诉你&#xf…...

仅限本周开放|Lovable高阶工程化实践内部培训课件(含模块化架构图、依赖注入容器源码注释版)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Lovable应用开发完整教程 Lovable 是一个面向现代 Web 应用的轻量级响应式框架&#xff0c;专为构建高交互性、可访问性强且易于维护的单页应用&#xff08;SPA&#xff09;而设计。它采用声明式组件模型与响…...

初次使用Taotoken从注册到发出第一个API请求的全流程耗时记录

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初次使用Taotoken从注册到发出第一个API请求的全流程耗时记录 1. 流程概览与预期 对于初次接触大模型聚合平台的开发者而言&#…...

软件测试的“测开分离”趋势,是机遇还是陷阱

一、测开分离&#xff1a;软件测试行业的新变局在软件测试行业的发展历程中&#xff0c;角色的边界一直在悄然演变。从早期手工测试独挑大梁&#xff0c;到自动化测试兴起后测试人员开始涉足简单代码编写&#xff0c;再到如今测试开发工程师岗位的独立&#xff0c;测试与开发的…...

【2026电赛国奖秘籍】别再用L298N了!无刷电机FOC(位置/速度双环)速成与避坑指南

&#x1f4dd; 前言&#xff1a;为什么电赛控制类一定要懂FOC&#xff1f;参加过电赛控制类&#xff08;如自平衡小车、双轴追光云台、风力摆、倒立摆&#xff09;的同学都知道&#xff0c;传统的“直流有刷电机 L298N/TB6612 增量式编码器”方案在面对极低速运转和精确定位时…...

Audio Slicer:智能音频分割终极指南,告别繁琐手动剪辑

Audio Slicer&#xff1a;智能音频分割终极指南&#xff0c;告别繁琐手动剪辑 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 还在为音频剪辑的繁琐操作…...