资料内容:
送或接收的数据。
当您必须以安全的方式在网络上移动信息时,未经加密的连接是不可接受的。若要使任何类型的数据不可读,请使用
加密。加密算法必须包括安全元素,以抵抗多种已知的攻击,例如更改加密消息的顺序或重复两次数据。
MySQL使用TLS(传输层安全)协议支持客户端和服务器之间的加密连接。TLS有时被称为SSL(安全套接字层),但
MySQL实际上并不使用SSL协议进行加密连接,因为它的加密很弱(请参阅第6.4.6节,
“加密连接协议和密码”).
TLS使用加密算法来确保通过公共网络接收的数据可以被信任。它具有检测数据更改、丢失或重播的机制。TLS还结
合了使用X.509标准提供身份验证的算法。
X.509使在互联网上识别某人成为可能。从基本意义上讲,应该有一个名为“证书管理机构”(或CA)将电子证书分配给任
何需要的人。证书依赖于具有两个加密密钥(公钥和秘密密钥)的非对称加密算法。证书所有者可以向另一方出示证书
作为身份证明。证书由所有者的公钥组成。使用此公钥加密的任何数据只能使用证书所有者持有的相应密钥解密。
MySQL可以使用OpenSSL或yaSSL进行加密连接支持。有关这两个包的比较,请参见第6.4.4节,“OpenSSL对
yaSSL”有关每个包支持的加密协议和密码的信息,请参见第6.4.6节,
“加密连接协议和密码”.
默认情况下,如果服务器支持加密连接,MySQL程序将尝试使用加密进行连接,如果无法建立加密连接,则返回到未
加密连接。有关影响使用加密连接的选项的信息,请参阅第6.4.1节,
“将MySQL配置为使用加密连接”和第6.4.2
节,
“加密连接的命令选项”.
MySQL在每个连接的基础上执行加密,对给定用户使用加密可以是可选的,也可以是强制的。这使您能够根据各个应
用程序的要求选择加密或未加密的连接。有关如何要求用户使用加密连接的信息,请参阅REQUIRE的条款CREATE
USER声明第13.7.1.2节,
“创建用户语法”..还请参阅require_secure_transport系统变量第5.1.7节,
“服务器系统变
量”
可以在主复制服务器和从复制服务器之间使用加密连接。见第16.3.8节,
“设置复制以使用加密连接”.
有关从MySQL C API使用加密连接的信息,请参阅第27.8.15节,“C API加密连接支持”.
还可以使用加密从SSH连接到MySQL服务器主机。有关示例,请参见第6.4.7节,
“用SSH从Windows远程连接
MySQL”.
对MySQL 5.7中的加密连接支持做了一些改进。以下时间线概述了这些变化: