一、安装时启动SSL

[root@linux-node local]# /usr/local/mysql5.7/bin/mysqld --initialize --basedir=/usr/local/mysql5.7 --datadir=/usr/local/mysql5.7/data/ --user=mysql
[root@linux-node local]# /usr/local/mysql5.7/bin/mysql_ssl_rsa_setup 

当运行完这个命令后,默认会在data(数据)目录下生成以下pem文件,这些文件就是用于启用SSL功能的

[root@linux-node local]# ll /usr/local/mysql5.7/data/*.pem                             
-rw-------. 1 /usr/local/mysql5.7/data/ca-key.pem        #CA私钥
-rw-r--r--. 1 /usr/local/mysql5.7/data/ca.pem            #自签CA证书,客户端连接也需要提供    
-rw-r--r--. 1 /usr/local/mysql5.7/data/client-cert.pem   #客户端连接服务器端需要提供的证书文件
-rw-------. 1 /usr/local/mysql5.7/data/client-key.pem    #客户端连接服务器端需要提供的私钥文件
-rw-------. 1 /usr/local/mysql5.7/data/private_key.pem   #私钥/公钥对的私有成员
-rw-r--r--. 1 /usr/local/mysql5.7/data/public_key.pem    #私钥/公钥对的共有成员
-rw-r--r--. 1 /usr/local/mysql5.7/data/server-cert.pem   #服务器端证书文件
-rw-------. 1 /usr/local/mysql5.7/data/server-key.pem    #服务器端私钥文件

在配置文件中指定ssl证书路径

ssl-ca=/usr/local/mysql5.7/data/ca.pem
ssl-cert=/usr/local/mysql5.7/data/server-cert.pem
ssl-key=/usr/local/mysql5.7/data/server-key.pem

二、进入数据库查看
1、查看变量值

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

2、查看 test用户的连接方式

mysql>\s;

3、如果用户是采用本地localhost或者sock连接数据库,那么不会使用SSL方式了
这里写图片描述

三、如果安装MySQL5.7时没有运行过mysql_ssl_rsa_setup,那么如何开启SSL

1、关闭MySQL服务
2、运行mysql_ssl_rsa_setup 命令
3、到data_dir目录下修改.pem文件的所属权限用户为mysql chown -R mysql.mysql *.pem
4、启动MySQL服务

四、强制某用户必须使用SSL连接数据库

#更改已经存在用户
mysql> alter mysql.user test@'%' require ssl;
#新建必须使用ssl用户
mysql> grant all on *.* to 'slave'@'192.168.133.1' identified by 'ASDF123asdf' require ssl;
mysql> flush privileges;

对于强制使用SSL连接的用户,如果不是使用ssl连接的就会报错

[root@linux-node ~]# mysql -uslave  -pASDF123asdf -h 192.168.133.1 --ssl=0   #不启用ssl连接
[root@linux-node ~]# mysql -uslave  -pASDF123asdf -h 192.168.133.1 [--ssl-ca=/usr/local/mysql5.7/data/ca.pem]   #启用ssl连接
MySQL 5 . 7 开始默认支持 SSL SSL 开启后会对性能有一定影响,如果数据库没有暴露在外网,通常不会打开 SSL ,但如果数据是相当核心与机密的,建议 配置 SSL ,虽然对性能有影响,但不是特别大。相关 配置 过程如下: 1、在数据库初始化完成后执行 SSL 证书生成 bin/ mysql _ ssl _rsa_setup 2、在datadir会生成很多.pem文件,修改属主为 mysql 用户 chown -R mysql . mysql /data/ mysql /*.pem 3、查看 SSL 相关状态,如果能获取到pem信息代表.
专题一: mysql5.7 上开启并 配置 ssl [root@ mysql master01 bin]# ./ mysql _ ssl _rsa_setup --datadir=/data/ mysql _data1/ --user= mysql Generating a 2048 bit RSA private key...............................................
最近,准备升级一组 MySQL 5 . 7 版本,在安装完 MySQL5.7 后,在其data目录下发现多了很多.pem类型的文件,然后通过查阅相关资料,才知这些文件是 MySQL5.7 使用 SSL 加密 连接 的。本篇主要介绍 MySQL5.7 SSL 连接 加密功能、如何使用?以及使用 SSL 的一些注意点。 我们知道, MySQL5.7 之前版本,安全性做的并不够好,比如安装时生成的root空密码账号、存在任何用户都能 连接 上...
文章目录环境操作验证服务端是否默认开启 ssl 创建必须使用 ssl 登录的用户系统用户表user与 ssl 修改用户不需要 ssl 修改用户需要 ssl CentOS6.6 X86_64 使用脚本工具生成密钥文件 bin/ mysql _ ssl _rsa_setup 执行完成后,data目录下生成密钥文件 -rw-r--r--. 1 root root 4 5 1 11月 28 12:26 pub...
1.1 创建CA证书 open ssl genrsa 2048 > ca-key.pem open ssl req -new -x 5 09 -nodes -days 3600 \ -key ca-key.pem -out ca.pem 1.2 创建服务端证书,去除加密,使用CA签名 server-cert.pem = ...
注意!本文是针对 Mysql 5 . 7 版本以上数据库,版本较低者可看这一篇博客:https://www.cnblogs.com/zhoujinyi/p/4191096.html 1. 检查当前 SSL / TLS状态 我们将使用-h指定IPv4本地环回接口,以强制客户端与TCP 连接 ,而不是使用本地套接字文件。 这将允许我们检查TCP 连接 SSL 状态: mysql -u root -p -h 12...
第一步,查看 mysql 是否支持 SSL mysql > show variables like '% ssl %'; 如果出现以下结果表示支持,如果没有考虑更换版本,或者编译一个带有 SSL 版本的 mysql +---------------+----------------------------------+ | Variable_name | Value
在初始化 mysql5.7 的时候,报以下错误error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory备注: 初始化参数为/usr/local/ mysql /bin/ mysql d --initialize --basedir=/usr/loca
所以新手使用celery很仔细的建立文件夹名字、文件夹层级、python文件名字, 所以网上的celery博客教程虽然很多,但是并不能学会使用,因为要运行起来需要以下6个方面都掌握好,博客文字很难表达清楚或者没有写全面以下6个方面。 celery消费任务不执行或者报错NotRegistered,与很多方面有关系,如果要别人排错,至少要发以下6方面的截图,因为与一下6点关系很大。 1) 整个项目目录结构,celery的目录结构和任务函数位置,有很大影响 2) @task入参 ,用户有没有主动设置装饰器的入参 name,设置了和没设置有很大不同,建议主动设置这个名字对函数名字和所处位置依赖减小 3) celery的配置,task_queues(在3.xx叫 CELERY_QUEUES )和task_routes (在3.xx叫 task_routes) 4) celery的配置 include (在3.xx叫 CELERY_INCLUDE)或者 imports (3.xx CELERY_IMPORTS) 或者 app.autodiscover_tasks的入参 5) cmd命令行启动参数 --queues= 的值 6) 用户在启动cmd命令行时候,用户所在的文件夹。 在不规范的文件夹路径下,使用celery难度很高,一般教程都没教。 [项目文件夹目录格式不规范下的celery使用演示](https://github.com/ydf0509/celery_demo) 。 此国产分布式函数调度框架 https://function-scheduling-distributed-framework.readthedocs.io/zh_CN/latest/index.html , 从用法调用难度,用户所需代码量,超高并发性能,qps控频精确程度,支持的中间件类型,任务控制方式,稳定程度等19个方面全方位超过celery,任何方面都是有过之而无不及 。发布性能提高1000%,消费性能提高2000% python使用百度aip文字识别 inthemirror2019: 最近在学习这个,百度现在有sdk了,调用更加方便了。感谢分享!