10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 36.3 mb
PDF (A4)- 36.3 mb
手册页(TGZ)- 236.9 kb
手册页(Zip)- 348.5 kb
信息(Gzip)- 3.4 mb
信息(邮政编码)- 3.4 mb
本手册节选

MySQL 5.7参考手册/.../ 设置复制以使用加密连接

16.3.8设置复制使用加密连接

要使用加密连接传输复制期间所需的二进制日志,源服务器和复制服务器都必须支持加密网络连接。如果任何一台服务器都不支持加密连接(因为没有为它们编译或配置),则不可能通过加密连接进行复制。

为复制设置加密连接类似于为客户端/服务器连接设置加密连接。您必须获取(或创建)一个可以在源上使用的合适的安全证书,并在每个副本上获取一个类似的证书(来自同一个证书颁发机构)。您还必须获取合适的密钥文件。

有关为加密连接设置服务器和客户端的详细信息,请参见章节6.3.1,“配置MySQL使用加密连接”

要在源上启用加密连接,必须创建或获取适当的证书和密钥文件,然后将以下配置参数添加到源的配置中(mysqld)源代码的部分my.cnf文件,根据需要更改文件名:

(mysqld) ssl_ca = cacert。pem ssl_cert = server-cert。pem ssl_key = server-key.pem

文件的路径可以是相对的,也可以是绝对的;为此,我们建议您始终使用完整路径。

配置参数如下:

  • ssl_ca: CA证书文件的路径名称。(——ssl-capath类似,但指定CA证书文件目录的路径名。)

  • ssl_cert:服务器公钥证书文件的路径名称。可以将此证书发送到客户端,并根据其拥有的CA证书进行身份验证。

  • ssl_key:服务器私钥文件的路径名。

要在副本上启用加密连接,请使用将master更改为声明。中加密连接所需的复制证书和SSL私钥文件的名称(客户端)复制品的部分my.cnf文件,或者可以使用将master更改为声明。有关的更多信息将master更改为声明中,看到第13.4.2.1节,“CHANGE MASTER TO语句”

  • 若要使用选项文件命名副本证书和密钥文件,请将以下行添加到(客户端)复制品的部分my.cnf文件,根据需要更改文件名:

    [客户]ssl-ca = cacert。pem ssl-cert = client-cert。pem ssl密钥= client-key.pem
  • 方法重新启动副本服务器——skip-slave-start选项,以阻止副本连接到源。使用将master更改为来指定源配置,并添加MASTER_SSL选项连接使用加密:

    mysql> CHANGE MASTER TO -> MASTER_HOST='source_hostname', -> MASTER_USER='repl', -> MASTER_PASSWORD='密码', -> master_ssl =1;

    设置MASTER_SSL = 1为复制连接,然后不再设置MASTER_SSL_xxxOptions对应于设置——ssl-mode =要求对于客户端,如中所述加密连接的命令选项.与MASTER_SSL = 1,只有在可以建立加密连接的情况下,连接尝试才会成功。复制连接不会回退到未加密连接,因此没有对应于——ssl-mode =首选复制设置。如果MASTER_SSL = 0它对应于什么——ssl-mode =禁用

  • 命令,为复制证书和SSL私钥文件命名将master更改为语句,如果您没有在副本的my.cnf文件,添加适当的MASTER_SSL_xxx选项:

    -> MASTER_SSL_CA = 'ca_file_name', -> MASTER_SSL_CAPATH = 'ca_directory_name', -> MASTER_SSL_CERT = 'cert_file_name', -> MASTER_SSL_KEY = 'key_file_name',

    选项对应于——sslxxx中所述的相同名称的选项加密连接的命令选项.为了让这些选项生效,MASTER_SSL = 1也必须设置。对于复制连接,请为其中任何一个指定值MASTER_SSL_CAMASTER_SSL_CAPATH,或者在副本中指定这些选项my.cnf文件,对应设置——ssl-mode = VERIFY_CA.只有在使用指定的信息找到有效的匹配证书颁发机构(CA)证书时,连接尝试才会成功。

  • 若要激活主机名身份验证,请添加MASTER_SSL_VERIFY_SERVER_CERT选择:

    - > MASTER_SSL_VERIFY_SERVER_CERT = 1,

    该选项对应于——ssl-verify-server-cert该选项在MySQL 5.7.11中已弃用,在MySQL 8.0中已被移除。对于复制连接,指定MASTER_SSL_VERIFY_SERVER_CERT = 1对应于设置——ssl-mode = VERIFY_IDENTITY,详见加密连接的命令选项.为了使该选项生效,MASTER_SSL = 1也必须设置。主机名身份验证不适用于自签名证书。

  • 若要激活证书吊销列表检查,请添加MASTER_SSL_CRLMASTER_SSL_CRLPATH选择:

    -> MASTER_SSL_CRL = 'crl_file_name', -> MASTER_SSL_CRLPATH = 'crl_directory_name',

    选项对应于——sslxxx中所述的相同名称的选项加密连接的命令选项.如果不指定,则不进行CRL检查。

  • 属性要指定复制连接所允许的密码和加密协议列表,请添加MASTER_SSL_CIPHER而且MASTER_TLS_VERSION选项:

    -> MASTER_SSL_CIPHER = '密码列表',-> MASTER_TLS_VERSION = '协议列表',

    MASTER_SSL_CIPHER选项指定复制连接所允许的密码列表,其中一个或多个密码名用冒号分隔。的MASTER_TLS_VERSION选项指定副本允许用于复制连接的加密协议。格式是这样的tls_version系统变量,具有一个或多个逗号分隔的协议版本。可以在这些列表中使用的协议和密码取决于用于编译MySQL的SSL库。有关格式和允许的值的信息,请参见第6.3.2节,“加密连接TLS协议和密码”

  • 更新源信息后,启动复制进程:

    mysql> START SLAVE;

    您可以使用显示奴隶状态语句,以确认已成功建立加密连接。

  • 要求副本上的加密连接并不能确保源需要来自副本的加密连接。方法在源上创建复制用户帐户,以确保源只接受使用加密连接进行连接的副本需要SSL选项,然后授予该用户复制的奴隶特权。例如:

    CREATE USER 'repl'@'%.example.com' IDENTIFIED BY '密码' ->要求ssl;mysql>授权复制从站。* -> TO 'repl'@'%.example.com';

    如果源上已有复制用户帐户,则可以添加需要SSL对此声明如下:

    mysql> ALTER USER 'repl'@'%.example.com' REQUIRE SSL