For the complete documentation index, see llms.txt. This page is also available as Markdown.

mysql_ssl_set

mysql_ssl_set configures TLS parameters including key, certificate, CA, and cipher list for a MariaDB connection, and must be called before mysql_real_connect.

Syntax

int mysql_ssl_set(MYSQL *mysql, const char *key, const char *cert,
  const char *ca, const char *capath, const char *cipher)

Parameters

  • mysql - a mysql handle, which was previously allocated by mysql_init() or mysql_real_connect().

  • key - path to the key file.

  • cert - path to the certificate file.

  • ca - path to the certificate authority file.

  • capath - path to the directory containing the trusted TLS CA certificates in PEM format.

  • cipher list of permitted ciphers to use for TLS encryption.

Description

Used for establishing a secure TLS connection. It must be called before attempting to use mysql_real_connect(). TLS support must be enabled in the client library in order for the function to have any effect.

NULL can be used for an unused parameter. Always returns zero.

To enable TLS without specifying certificates, set all values to NULL:

mysql_ssl_set(mysql, NULL, NULL, NULL, NULL, NULL)

This is the same as mysql_optionsv(mysql, MYSQL_OPT_SSL_ENFORCE, &yes).

  • mysql_real_connect() will return an error if attempting to connect and TLS is incorrectly set up.

  • Even if Connector/C supports TLSv1.3 protocol, it is not possible yet to specify TLSv1.3 cipher suites via cipher parameter.

See Also

This page is: Copyright © 2026 MariaDB. All rights reserved.

spinner

Last updated

Was this helpful?