Connect to SingleStore Helios using TLS/SSL
On this page
Important
The singlestore_ file, which SQL clients can use to connect to SingleStore Helios, will be updated as of October 20, 2023.
If your SQL client uses the singlestore_ file and the --ssl-mode=VERIFY_ flag to connect, and your SQL client can no longer connect to SingleStore Helios, please download and use the latest singlestore_ file.
Most client connections are TLS/SSL by default, even if no parameters are specified.
The options available that ensure a TLS/SSL connection are:
- 
      Using the client side flag, such as --ssl-mode=REQUIREDin MySQL/Singlestore clients.
- 
      Using a user created with REQUIRE SSL(enforces on the server side).
You can provide a client certificate and client key while connecting using --ssl-cert and --ssl-key options.ssl-ca-for-client-cert.memsql..
The VERIFY_ option is not required to use TLS/SSL.
Refer to SingleStore Helios Endpoints and Server Configuration to Require Secure Client Connections for more information.
Refer to  The SingleStore JDBC Driver  for details on how to connect using JDBC.
Generating Client Certificates for SingleStore mTLS Connections
The following instructions can be used to create a client certificate/key pair signed by the CA.--ssl-cert and --ssl-key options for secure mutual TLS (mTLS) authentication.
If you already have a CA certificate from your organization or another trusted source, you can skip the "Create a Certificate Authority" section below and use your existing CA to sign the client certificate.
The CA certificate (ca-cert.) must also be trusted by the SingleStore cluster configuration for client authentication.
Prerequisites
OpenSSL must be installed (for example for Ubuntu/Debian).
sudo apt-get install openssl -yCreate a Certificate Authority (CA)
- 
          Generate a CA private key as follows: openssl genrsa -out ca-key.pem 4096
- 
          Generate a CA certificate as follows: openssl req -x509 -new -nodes -key ca-key.pem -sha256 -days 3650 -out ca-cert.pem \ -subj "/C=US/ST=CA/L=SanFrancisco/O=ExampleOrg/OU=IT/CN=Example-CA"
You now have:
- 
          ca-key.: The private key for your CA.pem 
- 
          ca-cert.: The public CA certificate.pem 
Keep the CA key (ca-key.) private and secure.
Create the Client Certificate and Key
- 
          Generate the client private key and certificate signing request (CSR) as follows: openssl req -newkey rsa:2048 -nodes -keyout client-key.pem -out client-req.pem \ -subj "/C=US/ST=CA/L=SanFrancisco/O=ExampleOrg/OU=Client/CN=client.example.com"
- 
          Create a client certificate signed by the CA. The following command uses the CA’s certificate and key to sign the client’s certificate. openssl x509 -req -in client-req.pem -CA ca-cert.pem -CAkey ca-key.pem \ -CAcreateserial -out client-cert.pem -days 365 -sha256
You now have:
- 
          client-key.: Client private key.pem 
- 
          client-cert.: Client certificate signed by the CA.pem 
Verify the Certificates
You can confirm that the client certificate is properly signed by the CA by using the below command:
openssl verify -CAfile ca-cert.pem client-cert.pemThe resulting output should be:
client-cert.pem: OKUsing the Certificates
When connecting to SingleStore with mTLS, specify the client certificate and key.
mysql -u user \
--ssl-ca=/path/to/ca.pem \
--tls-version=TLSv1.2 \
--ssl-cert=/path/to/client-cert.pem \    	
--ssl-key=/path/to/client-key.pemConfigure the SingleStore Helios Connection
These instructions describe how to configure the MySQL command-line client to connect to SingleStore Helios with a secure connection.
- 
      Download the singlestore_certificate file and save it to your MySQL client machine.bundle. pem 
- 
      When connecting to SingleStore Helios, be sure to include: a. The host shown under the Endpoint from your workspace in the Cloud Portal. b. Port 3306.c. The --default-auth=mysql_option.native_ password d. The --ssl-caoption, including the path to thesinglestore_file.bundle. pem This can be done via command-line option, as in --ssl-ca=/path/singlestore_, or by setting the appropriate option in the configuration files for the MySQL command-line client.bundle. pem Include the --ssl-mode=REQUIREDwhen using older versions of the MySQL client, even when the--ssl-caoption is specified.e. The --ssl-mode=VERIFY_option to verify the certificate.CA 
- 
      Test the connection to SingleStore Helios. The MySQL client will abort with an error if a secure connection cannot be established. While this is most likely due to a misconfiguration, it can also be due to a would-be attacker manipulating the secure connection to SingleStore Helios. mysql -u admin -p -h <endpoint-host> -P 3306 \--default-auth=mysql_native_password \--ssl-ca=./singlestore_bundle.pem \--ssl-mode=VERIFY_CA
- 
      Verify that a secure connection has been established to SingleStore Helios via the statuscommand.mysql -u admin -p -h <endpoint-host> -P 3306 \--default-auth=mysql_native_password \--ssl-ca=./singlestore_bundle.pem -e 'status' \--ssl-mode=VERIFY_CAmysql Ver 14.14 Distrib 5.6.19, for osx10.9 (x86_64) using EditLine wrapper Connection id: 13 Current database: Current user: root@yyy.yyy.yyy.yyy SSL: Cipher in use is AES256-SHA Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.5.8 MemSQL source distribution (compatible; MySQL Enterprise & MySQL Commercial) Protocol version: 10 Connection: xxx.xxx.xxx.xxx via TCP/IP Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 TCP port: 3306
Last modified: October 30, 2025