配置ssl证书_Mysql配置ssl证书

本环境基于mysql5.6配置,通过openssl生成证书进行配置

一、确认环境信息

1、查看数据库版本

mysql> select version();

+-----------+

| version() |

+-----------+

| 5.6.36 |

+-----------+

2、查看数据库是否支持ssl配置

mysql> show variables like 'have%ssl%';

+---------------+----------+

| Variable_name | Value |

+---------------+----------+

| have_openssl | DISABLED |

| have_ssl | DISABLED |

+---------------+----------+

2 rows in set (0.00 sec)

3、查看数据库端口号

mysql> show variables like 'port';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| port | 3306 |

+---------------+-------+

1 row in set (0.00 sec)

4、查看数据库数据存放路径

mysql> show variables like 'datadir';

+---------------+-------------------+

| Variable_name | Value |

+---------------+-------------------+

| datadir | /data/mysql/data/ |

+---------------+-------------------+

1 row in set (0.00 sec)

二、证书配置

通过openssl 制作生成 SSL 证书(有效期99999)

1、生成一个 CA 私钥

[root@itop ~]#openssl genrsa 2048 > ca-key.pem

24021217dcb717ab3172b364a5606f2b.png

2、通过 CA 私钥生成数字证书

[root@itop ~]# openssl req -new -x509 -nodes -days 99999 -key ca-key.pem -out ca.pem

71900f95ba4fc788f9bfb84ee590ead7.png

3、创建 MySQL 服务器 私钥和请求证书

[root@itop ~]# openssl req -newkey rsa:2048 -days 99999 -nodes -keyout server-key.pem -out server-req.pem

03ce2811b650938a22d6db059f30740a.png

4、将生成的私钥转换为 RSA 私钥文件格式

[root@itop ~]# openssl rsa -in server-key.pem -out server-key.pem

b7382b9ef38a2dc7c892b4c9f7a3893d.png

5、用CA 证书来生成一个服务器端的数字证书

[root@itop ~]# openssl x509 -req -in server-req.pem -days 99999 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

51630baa026d8832fe75e1bbcefeee64.png

6、创建客户端的 RSA 私钥和数字证书

[root@itop ~]# openssl req -newkey rsa:2048 -days 99999 -nodes -keyout client-key.pem -out client-req.pem

1f06a4529b24cf888a180bf844be899d.png

7、将生成的私钥转换为 RSA 私钥文件格式

[root@itop ~]# openssl rsa -in client-key.pem -out client-key.pem

d1332229004f49d3e32680af35a2c8b1.png

8、用CA 证书来生成一个客户端的数字证书

[root@itop ~]# openssl x509 -req -in client-req.pem -days 99999 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

7929764187e1e567299392fbe53085a1.png

9、查看所有生成的SSL文件

[root@itop ~]# ll *.pem

3824ca7c1eaa63e0b6ddc192bd6bae9b.png

三、数据库配置SSL证书

1、复制 CA 证书和服务端SSL文件至MySQL 数据目录

[root@itop ~]# cp ca.pem server-*.pem /data/mysql/data –v

f3a607205fe05e40e529a07957337647.png

2、修改 MySQL 数据目录的CA 证书和服务端 SSL 文件所属用户与组

[root@itop ~]# chown -v mysql.mysql /data/mysql/data/{ca,server*}.pem

4d14dc7592f3acb5b3047e03a3cdd1b2.png

3、修改MYSQL配置文件,添加SSL调用配置【/etc/my.cnf】

vi /etc/my.cnf

b06f08b70054ca0937e63bf3762ebb9a.png

4、重启MYSQL服务,并检查数据库SSL是否开启状态

注:have_openssl 与 have_ssl 值都为YES表示ssl开启成功

[root@itop ~]# /etc/init.d/mysqld restart

e5b80f4d2267cb0446521c0a8962c8bd.png

mysql> show variables like 'have%ssl%';

c2e615536d7ff9d4b56e805f1b757c9c.png

四、测试SSL可用性

1、创建用户并指定SSL连接

mysql> grant all on *.* to 'test'@'%' identified by 'p@ssw0rd' require SSL;

0f072ca5b9f2ed0b3d102756eef5e546.png

2、通过密码连接测试

[root@itop ~]# mysql -utest -pp@ssw0rd -h 192.168.1.110

85bf58e0322c2d458056815ab38199e2.png

3、通过客户端密钥与证书SSL + 密码连接测试,并查看属性

[root@itop ~]# mysql -utest -pp@ssw0rd -h 192.168.1.110 --ssl-cert=client-cert.pem --ssl-key=client-key.pem

eaa5b44187495786a4c3f1cd2f580a59.png

mysql> s

60f696cd39128707e0dfeba0738d30ce.png

技术交流欢迎加入Q群:177428068

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

echarts散点图中大小_echarts在地图上绘制散点图(任意点)

项目需求:在省份地图上绘制散点图,散点位置不一定是哪个城市或哪个区县,即任意点通过查询官网文档,找到一个与需求类似的demo:,更改代码,将中国地图替换为省份地图,省份地图的js代码…

如何让图片充满excel单元格_如何在Excel单元格建立下拉菜单

对于一些常用的数据我们往往会希望能够尽量快速的输入,下拉菜单就是一个最简单的解决办法。那么如何实现下拉菜单呢?跟随以下步骤,建立属于自己的下拉菜单吧!如何建立下拉菜单?一、确定内容:在单元格中&…

pgsql中float4导致java程序精度丢失_Java基础系列02

注释Java中支持三种注释:1.单行注释以//开始换行结束。2.多行注释以/*开始,以*/结束。3.说明注释以/**开始,以*/结束。关键字关键字:是指在程序中,Java已经定义好的单词,具有特殊含义。例如上篇文章中Hello…

python地理位置聚类_python – 用于聚类地理位置数据的DBSCAN

我有一个纬度和经度对的数据帧.这是我的数据帧外观.order_lat order_long0 19.111841 72.9107291 19.111342 72.9083872 19.111342 72.9083873 19.137815 72.9140854 19.119677 72.9050815 19.119677 72.9050816 19.119677 72.9050817 19.120217 72.9071218 19.120217 72.90712…

用idea建立jsp项目_用idea创建maven项目,配置tomcat详解

用idea创建maven项目,配置tomcat详解,电脑上得有jdk1.7,或者1.8,然后就是maven3.x吧,再有就是tomcat7以上下面就直接开始看图啦:这个我刚刚开始没注意细看,原来web app 的骨架有2个呢&#xff0…

求立方根_初一数学立方根考点详解,立足基础,把握题型,学会方法

初一数学实数部分,平方根和立方根这两部分的知识点比较的基础,但是考试中却是经常会考,并且有很多的“陷阱”,也是让学生猝不及防,今天我和同学们继续学习交流立方根的知识点,通过详解考点,帮助…

ctf音频yinxie_ctf-图片隐写术

文件隐藏常见文件头尾jpg 文件头FFD8FFE0 文件尾FFD9png 文件头89504E470D0A1A0A 文件尾AE426082gif 文件头47494638 文件尾003Bzip 文件头504B0304 文件尾rar 文件头Rar! 文件尾7zip 文件头7z集 文件尾文件分析工具binwalk,kali中集成工具,用于分析文件中所包含的内…

mysql负责均衡读写分离_MySQL读写分离之负载均衡

mysql官方文档中有这么一句话:MySQL Proxy is currently an Alpha release and should not be used within production environments.So。。。使用haproxy来做这些事,以下仅供参考:环境配置master 192.168.1.106 master1s…

mysql使用技巧_MySQL使用不得不看的几个小技巧

程序中写入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。1. 优化你的MySQL查询缓存在MySQL服务器上进行查询,可以启用高速查询缓存。让数据库引擎在后台悄悄的处理是提高性能的最有效方法之一。当同一个查询被执行多…

mysql oracle 数据类型转换_Mysql与Oracle之间的数据类型转换

[转]MYSQL 与 Oracle 之间的数据类型转换

rad linux下安装mysql_Linux(CentOS或RadHat)下MySQL源码安装

MySQL 5.6开始,需要使用g进行编译。cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本。bison :MySQL语法解析器需要使用bison进行编译。ncurses-devel :用于终端操作的开发包。zlib …

mysql5.1数据库乱码_MySql5.1以上版本中文乱码的解决方法

在my.cnf内添加以下代码输出err日志信息:[safe_mysqld]err-log /var/log/mysqld.logpid-file /var/lib/mysql/localhost.localdomain.pid在shell中输入/bin/sh /usr/bin/mysqld_safe &启动mysql,shell输出如下:110328 11:39:55 mysqld_…

mysql 命令行批量sql_命令行中执行批量SQL的方法

基础信息介绍测试库:test;测试表:user;user表定义:CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT,name char(30) NOT NULL,age int(11) NOT NULL,gender tinyint(1) DEFAULT 1 COMMENT 性别:1男;…

mysql双主数据一致性_MySQL双主一致性架构优化 | 架构师之路-阿里云开发者社区...

一、双主保证高可用MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。在一个MySQL数据库集群中可以设置两个主库,并设置双向同步,以冗…

spool导出姓名中文乱码_MySQL不同字符集转化标准—7步实现,杜绝乱码!

引言作为资深的DBA程序员,在工作中是否会遇到更这样的情况呢?原有数据库的字符集由于前期规划不足,随着业务的发展不能满足业务的需求。如原来业务系统用的是utf8字符集,后期有存储表情符号的需求,uft8字符集就不能满足…

appium和airtest_关于Airtest自动化测试工具

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库…

easyexcel 设置标题_使用easyexcel完成复杂表头及标题的导出功能(自定义样式)

如需客户端指定excel版本,只需要判断后缀名然后在controller中的.excelType(ExcelTypeEnum.XLS)做指定输出内容格式即可***(注意表格行高列宽统一设置是在实体类的类名注解上,如果需要对表格进行精细的宽高设置需要删除掉这两个注解,可以在拦截器使用row的方法进行设置)1. ## 引…

mysql distinct两列_正在检索两列,并对MySQL中的每列应用“distinct”

这是一张桌子books----------------------------| author_fname | author_lname |----------------------------| Dan | Harris || Freida | Harris || George | Saunders |----------------------------我知道如果DISTINCT用作SELECT DISTINCT author_fname, author_lname FRO…

mysql笛卡尔积 去重_MySQL入门(函数、条件、连接)

MySQL入门(四)distinct:去重mysql>:create table t1(id int,x int,y int);mysql>: insert into t1 values(1, 1, 1), (2, 1, 2), (3, 2, 2), (4, 2, 2);mysql>: select distinct * from t1; # 全部数据mysql>: select distinct x, y from t1; # 结果 1,…

nmon安装为什么重启mysql_Nmon的安装及使用

一、下载Nmon根据CPU的类型选择下载相应的版本:二、初始化工具[rootmululu ~]# cd /opt[rootmululu opt]# mkdir nmon[rootmululu opt]# cd nmon[rootmululu nmon]#wget http://sourceforge.net/projects/nmon/files/download/nmon_x86_12a.zip[rootmululu nmon]# u…