MySQL 9.5 Reference Manual Including MySQL NDB Cluster 9.5
This section explains how to configure X Plugin to use encrypted connections. For more background information, see Section 8.3, “Using Encrypted Connections”.
      To enable configuring support for encrypted connections, X Plugin
      has mysqlx_ssl_
      system variables, which can have different values from the
      xxxssl_ system
      variables used with MySQL Server. For example, X Plugin can have
      SSL key, certificate, and certificate authority files that differ
      from those used for MySQL Server. These variables are described at
      Section 22.5.6.2, “X Plugin Options and System Variables”. Similarly,
      X Plugin has its own
      xxxMysqlx_ssl_
      status variables that correspond to the MySQL Server
      encrypted-connection
      xxxSsl_ status
      variables. See Section 22.5.6.3, “X Plugin Status Variables”.
    xxx
At initialization, X Plugin determines its TLS context for encrypted connections as follows:
          If all
          mysqlx_ssl_
          system variables have their default values, X Plugin uses the
          same TLS context as the MySQL Server main connection
          interface, which is determined by the values of the
          xxxssl_ system
          variables.
        xxx
          If any
          mysqlx_ssl_
          variable has a nondefault value, X Plugin uses the TLS
          context defined by the values of its own system variables.
          (This is the case if any
          xxxmysqlx_ssl_
          system variable is set to a value different from its default.)
        xxx
      This means that, on a server with X Plugin enabled, you can
      choose to have MySQL Protocol and X Protocol connections share
      the same encryption configuration by setting only the
      ssl_ variables,
      or have separate encryption configurations for MySQL Protocol and
      X Protocol connections by configuring the
      xxxssl_ and
      xxxmysqlx_ssl_
      variables separately.
    xxx
      To have MySQL Protocol and X Protocol connections use the same
      encryption configuration, set only the
      ssl_ system
      variables in xxxmy.cnf:
    
[mysqld] ssl_ca=ca.pem ssl_cert=server-cert.pem ssl_key=server-key.pem
      To configure encryption separately for MySQL Protocol and
      X Protocol connections, set both the
      ssl_ and
      xxxmysqlx_ssl_
      system variables in xxxmy.cnf:
    
[mysqld] ssl_ca=ca1.pem ssl_cert=server-cert1.pem ssl_key=server-key1.pem mysqlx_ssl_ca=ca2.pem mysqlx_ssl_cert=server-cert2.pem mysqlx_ssl_key=server-key2.pem
      For general information about configuring connection-encryption
      support, see Section 8.3.1, “Configuring MySQL to Use Encrypted Connections”. That
      discussion is written for MySQL Server, but the parameter names
      are similar for X Plugin. (The X Plugin
      mysqlx_ssl_
      system variable names correspond to the MySQL Server
      xxxssl_ system
      variable names.)
    xxx
      The tls_version system variable
      that determines the permitted TLS versions for MySQL Protocol
      connections also applies to X Protocol connections. The permitted
      TLS versions for both types of connections are therefore the same.
    
      Encryption per connection is optional, but a specific user can be
      required to use encryption for X Protocol and MySQL Protocol
      connections by including an appropriate REQUIRE
      clause in the CREATE USER statement
      that creates the user. For details, see
      Section 15.7.1.3, “CREATE USER Statement”. Alternatively, to require all users
      to use encryption for X Protocol and MySQL Protocol connections,
      enable the
      require_secure_transport system
      variable. For additional information, see
      Configuring Encrypted Connections as Mandatory.