10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

MySQL 8.0参考手册/安全/使用加密连接

6.3使用加密连接

通过MySQL客户端和服务器之间的非加密连接,可以访问网络的人可以监视您的所有流量,并检查客户端和服务器之间发送或接收的数据。

当您必须以安全的方式在网络上移动信息时,不加密的连接是不可接受的。要使任何类型的数据无法读取,请使用加密。加密算法必须包含安全元素,以抵御多种已知的攻击,如改变加密消息的顺序或重复播放数据。

MySQL支持客户端和服务器之间使用TLS (Transport Layer Security)协议进行加密连接。TLS有时被称为SSL(安全套接字层),但MySQL实际上并不使用SSL协议加密连接,因为它的加密很弱(参见第6.3.2节,“加密连接TLS协议和密码”).

TLS使用加密算法来确保通过公共网络接收的数据是可信的。它具有检测数据更改、丢失或重放的机制。TLS还集成了使用X.509标准提供身份验证的算法。

509使在因特网上识别某人成为可能。用基本术语来说,应该有一个叫做a的实体证书颁发机构(或CA),将电子证书分配给任何需要它们的人。证书依赖于具有两个加密密钥(一个公钥和一个秘密密钥)的非对称加密算法。证书所有者可以将证书提供给另一方作为身份证明。证书由其所有者的公钥组成。使用此公钥加密的任何数据只能使用相应的密钥解密,该密钥由证书的所有者持有。

MySQL中对加密连接的支持是通过OpenSSL提供的。有关OpenSSL支持的加密协议和密码的信息,请参见第6.3.2节,“加密连接TLS协议和密码”

请注意

从MySQL 8.0.11到8.0.17,可以使用wolfSSL作为OpenSSL的替代来编译MySQL。从MySQL 8.0.18开始,对wolfSSL的支持被移除,所有MySQL构建都使用OpenSSL。

默认情况下,如果服务器支持加密连接,MySQL程序尝试使用加密连接,如果无法建立加密连接,则返回到未加密连接。有关影响使用加密连接的选项的信息,请参见第6.3.1节,“配置MySQL使用加密连接”加密连接命令选项

MySQL在每个连接的基础上执行加密,对给定用户的加密可以是可选的,也可以是强制的。这使您能够根据各个应用程序的要求选择加密或未加密的连接。有关如何要求用户使用加密连接的信息,请参见需要条款的创建用户声明第13.7.1.3节,“CREATE USER Statement”.的描述require_secure_transport系统变量第5.1.8节,“服务器系统变量”

可以在源服务器和副本服务器之间使用加密连接。看到第17.3.1节,“设置复制使用加密连接”

有关从MySQL C API使用加密连接的信息,请参见加密连接支持

也可以在SSH连接中使用加密连接到MySQL服务器主机。例如,请参见第6.3.4节,“从Windows使用SSH远程连接MySQL”