Skip to main content

Specifying the TLS Version

Use the tls_version global variable to specify the TLS versions allowed by the server. This variable can only be set at startup.

As of SingleStoreDB 8.1, OpenSSL 3.0 is now used to establish secure connections to SingleStoreDB. As a consequence, a client certificate that uses SHA or MD5 hash functions in its signature must be replaced with a certificate that uses SHA256 at a minimum, or a secure connection to SingleStoreDB cannot be established. While SingleStoreDB supports TLS v1, TLS v1.1, and TLS v1.2, using TLS v1.2 is recommended. When FIPS is enabled, only TLS v1.2 is supported. Refer to Troubleshoot OpenSSL 3.0 Connections for more information.

To see the current TLS version, run the following command.

SELECT @@tls_version;
| @@tls_version         |
| TLSv1,TLSv1.1,TLSv1.2 |

Configuring TLSv1.2 to Use a Specific Set of Cipher Suites

Use the ssl_cipher global variable to specify the cipher suites allowed by the server. By default, all cipher suites from the environment's OpenSSL version are enabled for compatibility with client applications. This list can be restricted for SingleStoreDB and can be set only at startup.

Client Compatibility Issues

Restricting the available cipher suites used by SingleStoreDB may cause compatibility issues with client applications. It is recommended to confirm your client application(s) cipher suite settings prior to configuring a specific set of cipher suites for SingleStoreDB to ensure compatibility. The CHACHA20 ciphers are not supported by SingleStore’s versions of OpenSSL. The supported cipher suites are:

Supported Cipher Suite

OpenSSL 1.0

OpenSSL 3.0

























Refer to Troubleshoot OpenSSL 3.0 Connections for more information.


SingleStoreDB Cloud does not force TLS 1.2 for the engine and websocket proxy by default. This must be configured using the instructions provided.

The following examples demonstrate how you can update the tls_version and ssl_cipher variables on the nodes by running Toolbox commands.


The following command updates the TLS version to TLSv1.2 on all nodes in the cluster.

sdb-admin update-config --key tls_version --value TLSv1.2 --all
Toolbox is about to run 'memsqlctl update-config --key tls_version --value TLSv1.2' on the following nodes:
    - On host
      + 27235D3E385B1056478CE11258959592CE49EE82
      + F9F6A7E64946D5D3D1E6F00C175EF00FC240AB97

Would you like to continue? [y/N]: y
✓ Updated configuration on
Operation completed successfully

The following command restarts all nodes in the cluster for the new tls_version value to take effect.

sdb-admin stop-node --all
✓ Successfully connected to host
Toolbox is about to perform the following actions:
  · Stop all nodes in the cluster

Would you like to continue? [y/N]: y
✓ Stopped Master node on (1/1)
✓ Successfully stopped Master node on 1 host
✓ Stopped Master node
✓ Stopped Leaf nodes on (1/1)
✓ Successfully stopped Leaf nodes on 1 host
✓ Stopped Leaf node
Operation completed successfully
sdb-admin start-node --all
Toolbox is about to perform the following actions:
  · Start all nodes in the cluster

Would you like to continue? [y/N]: y
✓ Successfully connected to host
✓ Started Leaf nodes on (1/1)
✓ Successfully started Leaf nodes on 1 host
✓ Successfully connected to Leaf node
✓ Started Master node on (1/1)
✓ Successfully started Master node on 1 host
✓ Successfully connected to Master node
Operation completed successfully
singlestore -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.58 MemSQL source distribution (compatible; MySQL Enterprise & MySQL Commercial)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective

No entry for terminal type "xterm-256color";
using dumb terminal settings.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
SELECT @@tls_version;
| @@tls_version |
| TLSv1.2       |
1 row in set (0.01 sec)

The following command updates the ssl_cipher variable:

sdb-admin update-config --key ssl_cipher --value DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384 --all