MySQL可以使用OpenSSL或yaSSL编译,这两种基于OpenSSL API:启用加密连接
使用OpenSSL MySQL企业版编译二进制发行版。不可能使用yaSSL MySQL企业版。
MySQL社区版使用yaSSL编译二进制发行版。
Community Edition MySQL源分布可以使用OpenSSL或编译yaSSL(见2.9.6节”,将SSL配置库支持“)。
可以编译MySQL使用yaSSL代替OpenSSL MySQL 5.7.28之前。MySQL 5.7.28,支持删除yaSSL和所有MySQL版本使用OpenSSL。
OpenSSL和yaSSL提供相同的基本功能,但MySQL分布编译使用OpenSSL有附加功能:
OpenSSL支持TLSv1、TLSv1.1 TLSv1.2协议。yaSSL只支持TLSv1和TLSv1.1协议。
OpenSSL支持更灵活的语法指定密码(
ssl_cipher
系统变量和——ssl cipher
客户端选项),并支持更广泛的选择的加密密码。看到加密连接的命令选项,部分再,“加密连接TLS协议和密码”。OpenSSL支持
ssl_capath
系统变量和——ssl-capath
客户的选择。MySQL版本编译使用yaSSL不因为yaSSL看起来并不在任何目录和不遵循一个链式证书树。yaSSL CA证书的要求所有组件树被包含在一个单一的CA证书树,每个证书文件中都有一个独特的SubjectName价值。为了解决这个限制,连接各个证书文件组成树的证书到一个新的文件和指定文件的价值ssl_ca
系统变量和——ssl-ca
选择。(OpenSSL支持证书撤销列表功能
ssl_crl
和ssl_crlpath
系统变量和——ssl-crl
和——ssl-crlpath
客户端选项)。分布编译使用yaSSL不因为撤销列表不yaSSL一起工作。(yaSSL接受这些选项但默默地忽略他们。)使用的帐户进行身份验证
sha256_password
插件可以使用RSA密钥文件安全的密码交换通过未加密的连接。看到部分6.4.1.5,“sha - 256可插入身份验证”。服务器可以自动生成失踪SSL和RSA证书和密钥文件在启动。看到6.3.3.1部分,“创建SSL和RSA证书和密钥使用MySQL”。
OpenSSL支持更多的加密模式
AES_ENCRYPT ()
和AES_DECRYPT ()
功能。看到12.14节,“加密和压缩功能”
某些OpenSSL-related系统和状态变量存在只有MySQL使用OpenSSL编译:
确定是否使用OpenSSL来编译服务器,测试这些变量的存在。例如,该语句返回一行如果使用OpenSSL和一个空的结果如果yaSSL使用:
显示状态像“Rsa_public_key”;