Transition from MySQL to SingleStore

SingleStore is wire-compatible with MySQL, which makes it easy to transition your data and application from MySQL to SingleStore. To migrate your existing MySQL data, SingleStore recommends using Flow. SingleStore Flow enables you to ingest large datasets with a guided, no-code interface that simplifies the migration process. It eliminates the need for manual schema conversion, custom scripting, and additional infrastructure. Unlike traditional migration methods, which can be resource intensive and operationally complex, Flow automates key migration steps to reduce overall migration time and complexity.

To transition your data and application from MySQL to SingleStore:

  1. Migrate your data with SingleStore Flow.

  2. Transition your application.

1. Migrate your Data with Flow

Use SingleStore Flow to migrate your data from MySQL to SingleStore. Refer to Load Data with SingleStore Flow for more information.

SingleStore intentionally does not support all the MySQL features. Refer to Unsupported MySQL Features for more information.

You can also migrate your data using mysqldump, although it may require manual scripting and operational effort.

2. Transition your Application

Update the connection configuration and credentials in your application to connect to a SingleStore deployment. Refer to Connect to SingleStore for related information.

A key consideration to note is Code Generation, which plays a significant role in SingleStore's superior query execution performance. The first time SingleStore encounters a table schema, it generates and compiles code that implements the infrastructure around the table (memory allocation, inserts, deletes, iterations, etc.). Therefore, code generation makes loading a schema into SingleStore for the first time slower than with MySQL. Once a table is compiled, SingleStore is able to reuse it for the lifetime of your application - even if you restart the server or drop (and recreate) the table.

Similarly, when using mysqldump to migrate your data, the INSERT queries generated by mysqldump also have to be compiled exactly once.

When transitioning your application:

  • Even if you’re connecting to SingleStore locally, use the explicit host 127.0.0.1 instead of localhost. Most MySQL clients will resolve localhost to use the global MySQL socket file and ignore the port setting. Refer to FAQ for more information.

  • As you run through the application, monitor the memsql.log file.

  • Queries that throw errors most likely correspond to unsupported syntax (refer to SQL Reference for supported SQL surface area).

Last modified: September 10, 2025

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK