客户端使用客户端提供了几个选项来表明是否使用加密连接,并指定相应的证书和密钥文件。本节提供了在服务端和客户端使用加密连接的基本配置。
加密连接相关选项完整列表,详见6.4.2 Command Options for Encrypted Connections
如何创建证书和秘钥文件,详见6.4.3 Creating SSL and RSA Certificates and Keys
主备也可以使用加密连接,详见16.3.8 Setting Up Replication to Use Encrypted Connections
MySQL C API支持加密连接,详见27.8.15 C API Encrypted Connection Support
服务端配置加密连接
-ssl
服务端这个选项默认启动
客户端配置加密连接
默认情况下,如果服务端支持加密连接,客户端程序会试图建立加密连接
可以通过--ssl-mode选项做进一步控制:
如果没有配置--ssl-mode选项,客户端试图使用加密连接,如果无法建立加密连接,则返回未加密连接。配置--ssl-mode=PREFFERED选项也是如此。
--ssl-mode=REQUIRED,客户端需要建立加密连接,如果无法建立加密连接,则连接失败。
--ssl-mode=DISABLED,客户端使用未加密的连接
--ssl-mode=VERIFY_CA,客户端使用未加密的连接,并验证服务端CA证书
--ssl-mode=VERIFY_IDENTITY,客户端使用未加密的连接,并验证服务端证书中的主机名