mysql5.7 skip ssl_MySQL 5.7 的SSL加密方法
MySQL 5.7 的SSL加密方法
MySQL 5.7.6或以上版本
(1)创建证书开启SSL验证
--安装openssl
yum install -y openssl
openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
--安装证书
/usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/data/mysql/mysql3306/data
--修改权限
chown -R mysql:mysql /data/mysql/mysql3306/data
pwd
/data/mysql/mysql3306/data
[root@VM_45_133_centos Wed Jun 28 10:51:22 data]# ll
total 1024072
-rw-r----- 1 mysql mysql 56 Jun 19 17:56 auto.cnf
-rw------- 1 root root 1679 Jun 28 10:48 ca-key.pem
-rw-r--r-- 1 root root 1074 Jun 28 10:48 ca.pem
-rw-r--r-- 1 root root 1078 Jun 28 10:48 client-cert.pem
-rw------- 1 root root 1679 Jun 28 10:48 client-key.pem
-rw-r----- 1 mysql mysql 672 Jun 28 10:47 ib_buffer_pool
-rw-r----- 1 mysql mysql 1048576000 Jun 28 10:47 ibdata1
drwxr-x--- 2 mysql mysql 4096 Jun 19 17:57 mysql
drwxr-x--- 2 mysql mysql 4096 Jun 19 17:57 performance_schema
-rw------- 1 root root 1679 Jun 28 10:48 private_key.pem
-rw-r--r-- 1 root root 451 Jun 28 10:48 public_key.pem
drwxr-x--- 2 mysql mysql 4096 Jun 23 10:48 school
-rw-r--r-- 1 root root 1078 Jun 28 10:48 server-cert.pem
-rw------- 1 root root 1675 Jun 28 10:48 server-key.pem
drwxr-x--- 2 mysql mysql 12288 Jun 19 17:57 sys
-rw-r----- 1 mysql mysql 418 Jun 20 14:14 VM_45_133_centos.log
客户端连接需要的证书,当然不用证书也是可以的
-rw-r--r-- 1 root root 1074 Jun 28 10:48 ca.pem
-rw-r--r-- 1 root root 1078 Jun 28 10:48 client-cert.pem
-rw------- 1 root root 1679 Jun 28 10:48 client-key.pem
-rw------- 1 root root 1679 Jun 28 10:48 private_key.pem
服务器上的证书
-rw-r--r-- 1 root root 1074 Jun 28 10:48 ca.pem
-rw------- 1 root root 1679 Jun 28 10:48 ca-key.pem
-rw-r--r-- 1 root root 451 Jun 28 10:48 public_key.pem
-rw-r--r-- 1 root root 1078 Jun 28 10:48 server-cert.pem
-rw------- 1 root root 1675 Jun 28 10:48 server-key.pem
--修改my.cnf
#########SSL#############
ssl-ca = /data/mysql/mysql3306/data/ca.pem
ssl-cert = /data/mysql/mysql3306/data/server-cert.pem
ssl-key = /data/mysql/mysql3306/data/server-key.pem
(2)重启mysql
/etc/init.d/mysql stop
/etc/init.d/mysql start
--查看ssl参数状态,查看have_ssl,为YES,这表示已经开始支持SSL了
show global variables like ‘%ssl%‘;
+---------------+--------------------------------------------+
| Variable_name | Value |
+---------------+--------------------------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /data/mysql/mysql3306/data/ca.pem |
| ssl_capath | |
| ssl_cert | /data/mysql/mysql3306/data/server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | /data/mysql/mysql3306/data/server-key.pem |
+---------------+--------------------------------------------+
show global status like ‘%ssl%‘;
+--------------------------------+--------------------------+
| Variable_name | Value |
+--------------------------------+--------------------------+
| Com_show_processlist | 0 |
| Ssl_accept_renegotiates | 0 |
| Ssl_accepts | 0 |
| Ssl_callback_cache_hits | 0 |
| Ssl_cipher | |
| Ssl_cipher_list | |
| Ssl_client_connects | 0 |
| Ssl_connect_renegotiates | 0 |
| Ssl_ctx_verify_depth | 0 |
| Ssl_ctx_verify_mode | 0 |
| Ssl_default_timeout | 0 |
| Ssl_finished_accepts | 0 |
| Ssl_finished_connects | 0 |
| Ssl_server_not_after | Jun 26 02:48:05 2027 GMT |
| Ssl_server_not_before | Jun 28 02:48:05 2017 GMT |
| Ssl_session_cache_hits | 0 |
| Ssl_session_cache_misses | 0 |
| Ssl_session_cache_mode | Unknown |
| Ssl_session_cache_overflows | 0 |
| Ssl_session_cache_size | 0 |
| Ssl_session_cache_timeouts | 0 |
| Ssl_sessions_reused | 0 |
| Ssl_used_session_cache_entries | 0 |
| Ssl_verify_depth | 0 |
| Ssl_verify_mode | 0 |
| Ssl_version | |
+--------------------------------+--------------------------+
查看SSL的加密方式
show global variables like ‘tls_version‘;
+---------------+---------------+
| Variable_name | Value |
+---------------+---------------+
| tls_version | TLSv1,TLSv1.1 |
+---------------+---------------+
(3)配置SSL用户
取消ssl验证
grant all privileges on *.* to abcssl@‘%‘ identified by ‘123456‘ require none;
alter user abcssl@‘%‘ require none;
--强制ssl验证,即使设置了强制ssl,在登录时候使用--ssl-mode=disable依然可以避开ssl验证
grant all privileges on *.* to abcssl@‘%‘ identified by ‘123465‘ require ssl;
alter user abcssl@‘%‘ require ssl;
查看是否开启强制用户使用SSL
select user,host,ssl_type,ssl_cipher from mysql.user;
+-----------+-----------+----------+------------+
| user | host | ssl_type | ssl_cipher |
+-----------+-----------+----------+------------+
| root | % | | |
| mysql.sys | localhost | | |
| abcssl | % | ANY | |
+-----------+-----------+----------+------------+
(4)连接数据库的时候,带上SSL
不指定客户端证书方式
5.6
--ssl、--disable-ssl、--skip-ssl:在mysql5.7是将被废弃的选项,将来版本不再支持,建议使用--ssl-mode选项,
/usr/local/mysql/bin/mysql -uroot -p -h127.0.0.1 --ssl 默认为1
/usr/local/mysql/bin/mysql -uroot -p -h127.0.0.1 --ssl=0
/usr/local/mysql/bin/mysql -uroot -p -h127.0.0.1 --ssl=1 默认为1
/usr/local/mysql/bin/mysql -uroot -p -h127.0.0.1 --disable-ssl
/usr/local/mysql/bin/mysql -uroot -p -h127.0.0.1 --skip-ssl
5.7
/usr/local/mysql/bin/mysql -uroot -p -h127.0.0.1 --ssl-mode=disable
/usr/local/mysql/bin/mysql -uroot -p -h127.0.0.1 --ssl-mode=required 默认required
从另一台机器连接过去也可以ssl加密,表明不需要安装客户端证书的
/usr/local/mysql/bin/mysql -uroot -p -h10.105.45.133 --ssl-mode=required
指定客户端证书方式,5.6的方式,5.7也可以用
/usr/local/mysql/bin/mysql --ssl-ca=/data/mysql/mysql3306/data/ca.pem \
--ssl-cert=/data/mysql/mysql3306/data/client-cert.pem \
--ssl-key=/data/mysql/mysql3306/data/client-key.pem \
-uroot -p -h127.0.0.1
(5)连接验证连接是否用了ssl
\s == status
--------------
/usr/local/mysql/bin/mysql Ver 14.14 Distrib 5.7.18, for linux-glibc2.5 (x86_64) using EditLine wrapper 客户端版本
Connection id: 69
Current database:
Current user: root@127.0.0.1
SSL: Cipher in use is DHE-RSA-AES256-SHA
Current pager: stdout
Using outfile: ‘‘
Using delimiter: ;
Server version: 5.7.18-log MySQL Community Server (GPL)
Protocol version: 10
Connection: 127.0.0.1 via TCP/IP
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8
TCP port: 3306
Uptime: 28 min 14 sec
Threads: 2 Questions: 1755 Slow queries: 0 Opens: 114 Flush tables: 1 Open tables: 102 Queries per second avg: 1.036
--------------
JDBC客户端的解决方法
连接字符串url中加入ssl=true或false:
url=jdbc:mysql://127.0.0.1:3306/framework?characterEncoding=utf8&useSSL=true
MySQL 5.7 的SSL加密方法
标签:page linu rac rom user 设置 enter char nis
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:http://www.cnblogs.com/MYSQLZOUQI/p/7089135.html
mysql5.7 skip ssl_MySQL 5.7 的SSL加密方法相关推荐
- MySQL 5.7 have_ssl 的SSL加密方法
MySQL 5.7 have_ssl 的SSL加密方法 MySQL 5.7.6或以上版本 (1)创建证书开启SSL验证 –安装openssl yum install -y openssl openss ...
- MySQL:安装和基于SSL加密的主从复制(基于5.7)
小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流 目录: --------mysql-5.7.13简介及安装 --------配置my ...
- 教你构建MySQL主从结构,实现基于SSL加密的主从同步机制。
实验环境RHEL6.4 admin1.tuchao.com 192.168.1.201 主服务器 admin2.tuchao.com 192.168.1.202 从服务器 先在 ...
- MySQL(MariaDB)的 SSL 加密复制
背景: 在默认的主从复制过程或远程连接到MySQL/MariaDB所有的链接通信中的数据都是明文的,在局域网内连接倒问题不大:要是在外网里访问数据或则复制,则安全隐患会被放大很多.由于项目要求需要直接 ...
- mysql主从同步加密_教你构建MySQL主从结构,实现基于SSL加密的主从同步机制
实验环境RHEL6.4 admin1.tuchao.com 192.168.1.201 主服务器 admin2.tuchao.com 192.168.1.202 从服务器 先在 ...
- Linux配置mysql数据库SSL加密
一.SSL介绍 SSL(Secure Socket Layer:安全套接字层)利用数据加密.身份验证和消息完整性验证机制,为基于TCP等可靠连接的应用层协议提供安全性保证. SSL协议提供的功能主要有 ...
- python3.7.2 pip 出现locations that require TLS/SSL异常处理方法
python3.7.2 pip 出现locations that require TLS/SSL异常处理方法 参考文章: (1)python3.7.2 pip 出现locations that req ...
- mysql5.6启动占用内存很大的解决方法
mysql5.6启动占用内存很大的解决方法 参考文章: (1)mysql5.6启动占用内存很大的解决方法 (2)https://www.cnblogs.com/musings/p/5913225.ht ...
- SSL应用系列之二:为Web站点实现SSL加密访问
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://jeffyyko.blog.51cto.com/28563/141322 上一节中 ...
最新文章
- CVPR2020论文点评: AdderNet(加法网络)
- sql server 服务器之间传递消息,SQL Server 2008 Service Broker教程 - 无法接收消息(transmission_status中的异常)...
- Web设计师须知的10项SEO技巧
- 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍...
- HTML和CSS 基本要点必看
- 安卓Dialog弹出对话框全解:包含了AlertDialog,DialogFragment
- wordpress自定义404页面
- UEditor富文本编辑器图片粘贴和上传问题
- Linux,IP归属地查询(nali)
- 工作小结_2016年2月23日23:16:59
- 常用英语命令(音标,释义)
- office之word开启参考线对齐
- 语音处理/语音识别基础(六)- 语音的端点检测(EPD/VAD)
- error:LNK2005 已经在*.obj文件中定义的解决办法
- “精致穷”的年轻人养出百亿小样经济
- 1034: 夏季促销 C语言
- MediaPlayer详解和使用
- 啊!我的专业不只是修电脑,装系统
- Python语言用法总结
- 安卓中间件 hello dema解析
热门文章
- ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架
- 语音识别:繁华背后,危机初现
- 直播报名 | 小身材大能量!用英伟达智能小车Jetbot玩转深度学习
- 解读小米MoGA:超过MobileNetV3的移动端GPU敏感型搜索
- 每周一起读 #02 | ICML 2019:基于粒子的变分推断加速方法
- 【建议收藏】二叉树的序列化与反序列化
- 【LeetCode】LeetCode之删除并获得点数——动态规划、排序+动态规划
- 面试官:了解雪崩效应吗?了解Hystrix吗?怎么解决雪崩效应吗?(大型社死现场,教你运筹帷幄之中)
- 锁究竟锁住的是什么?
- 浙江理工大学信息学院本科生创新项目总结报告——简单的后台用户管理项目