zoukankan      html  css  js  c++  java
  • MySQL8开启SSL加密

    1 概述

    MySQL5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看SSL的状态,出现下图表示在使用SSL

    在这里插入图片描述

    另外,加密连接需要密钥与证书,可以使用OpenSSL手动生成或使用mysql_ssl_rsa_setup自动生成,这里使用了mysql_ssl_rsa_setup

    下面从安装开始。

    2 安装(可选)

    系统CentOS,直接使用yum安装(编译安装参考此处),先用list查看一下:

    在这里插入图片描述

    这里的版本是8.0.17,直接install

    yum install mysql
    yum install mysql-server
    

    好了之后启动服务:

    systemctl start mysqld
    

    然后获取临时密码后修改root密码:

    grep password /var/log/mysql/mysqld.log
    

    在这里插入图片描述

    这里显示密码为空,直接root登录修改密码:

    mysql -u root -p
    alter user root@localhost identified by 'xxxxx
    

    在这里插入图片描述

    3 生成证书与密钥

    首先查看有没有开启SSLMySQL控制台输入

    show variables like '%ssl%';
    

    在这里插入图片描述

    这里have_ssl显示yes,表示已经开启了,表示本地的使用了SSL连接,如果显示为no,使用MySQL自带的工具即可开启SSL

    mysqld_ssl_rsa_setup
    

    然后默认在/var/lib/mysql下会有几个pem文件,说明如下:

    在这里插入图片描述

    接着重启服务:

    systemctl restart mysqld
    

    4 测试

    进入服务器的MySQL控制台,新建两个测试用户,一个使用SSL,一个不使用SSL

    在这里插入图片描述

    然后在本机上测试,首先测试不需要SSL的用户,输入密码123456后可以直接登录:

    在这里插入图片描述

    然后测试需要SSL的用户:

    在这里插入图片描述

    输入密码123456后登录不了,使用scp从服务器复制CA证书与客户端证书与私钥:

    scp username@xxx.xxx.xxx.xxx:/var/lib/mysql/\{ca.pem,client-key.pem,client-cert.pem} .
    

    然后在登录时加上

    --ssl-ca=ca.pem
    --ssl-cert=client-cert.pem
    --ssl-key=client-key.pem
    

    在这里插入图片描述

    登录成功。

  • 相关阅读:
    Consul 简介及集群安装
    poj 1300 Door Man 欧拉回路
    Codeforces Round #284 (Div. 2)
    bnuoj 34985 Elegant String DP+矩阵快速幂
    cf 496B Secret Combination
    hdu 5120 Intersection
    poj 2002 Squares
    Codeforces Round #281 (Div. 2)
    转载:百度原CTO李一男经典语录
    hdu 4005 The war
  • 原文地址:https://www.cnblogs.com/6b7b5fc3/p/12716274.html
Copyright © 2011-2022 走看看