SQLite
MySQL

SQLite to MySQL Converter

Move data between SQLite files and MySQL or MariaDB in either direction. Schema conversion, type mapping, and optional two-way sync.

Version
5.4.0
Release Date
Oct. 25, 2026
Size
22.7 MB
Platform
Windows 10 or later

Rather not run it yourself?

Let us do the migration →

Move an SQLite database file to a MySQL server without manually rebuilding its schema. DBConvert lets you review table selection and type mapping, then creates compatible MySQL tables and transfers the data.

Runs on Windows as a desktop application: it opens the SQLite file and connects to the MySQL server itself, with nothing to upload to a web service.

Why move

When MySQL is the right target

Shared production database

SQLite is excellent for embedded apps, local caches, mobile apps, and small single-file deployments. MySQL is a better target when multiple application servers, remote users, permissions, and central backups become part of the requirement.

Managed MySQL target

The move is common when a prototype becomes a hosted application. MySQL-compatible targets include MariaDB, Percona Server, Amazon RDS / Aurora MySQL, Azure Database for MySQL, and Google Cloud SQL.

Two modes, one download

Convert once or keep the databases synchronized

You choose the mode when you set up the job.

One-time conversion

Move schema, table data, indexes, and reviewed type mappings in one pass; point the application at MySQL after validation.

Repeat synchronization

Keep both databases in use and exchange changes on a schedule during a staged rollout or desktop-to-server workflow.

What needs attention

How DBConvert handles the SQLite → MySQL differences

SQLite is permissive; MySQL is stricter about schema and server behavior.

Dynamic typing

A SQLite type declaration is an affinity hint, not a constraint, so a column declared INTEGER can hold text in real rows. The conversion follows the declaration, so retype the columns your data has outgrown in the type-mapping review.

Generated keys

Maps SQLite INTEGER PRIMARY KEY / AUTOINCREMENT (which is tied to ROWID) to MySQL AUTO_INCREMENT on the PK column, and reseeds above the loaded maximum key value - so the application's next insert does not collide.

Dates and booleans

SQLite has no date or boolean type: applications store dates as ISO-8601 text and booleans as 0/1 integers. Those columns arrive as the type they were declared with, so pick DATETIME or TINYINT(1) for them in the type-mapping review. A column already declared DATETIME in SQLite comes across as DATETIME.

Dialect differences

Rewrites SQLite double-quoted identifiers into backtick MySQL form on the target, generates MySQL-flavored DDL (replacing SQLite AUTOINCREMENT, pragmas, and transaction syntax), and creates target columns as utf8mb4 so Unicode round-trips safely.

Triggers, CHECK constraints, and procedural code - out of scope

DBConvert's migration covers tables with their fields, types and indexes, and foreign keys between them. SQLite triggers, CHECK constraints and WITHOUT ROWID table specifics stay in the source and are recreated manually in MySQL where the equivalent feature exists - MySQL 8.0 and later supports CHECK constraints.

Application code is a separate pass: anything written around SQLite locking, pragmas, date storage conventions, or SQLite-specific SQL still needs review before the application points at MySQL.

You see every column before a row moves

The review lists each source column and the MySQL type it is about to get. SQLite's loose types turn into exact ones: INTEGER keys become BIGINT, TEXT becomes LONGTEXT, NVARCHAR becomes VARCHAR of the same length. Change any of them before the run.

DBConvert type-mapping review for a SQLite to MySQL conversion, listing every column of the film table with the MySQL type it will get

Want to browse and query the MySQL side once the data is there? DBConvert Streams includes a database explorer for MySQL and PostgreSQL →

Supported versions and services

SQLite

  • SQLite 3.0 and later

MySQL

  • MySQL 5.x, 8.x; MariaDB; Percona Server
  • Amazon RDS / Aurora MySQL, Azure Database for MySQL, Google Cloud SQL

How to migrate SQLite to MySQL

1

Setup: connect SQLite and MySQL

Pick Convert or Sync, then choose the source and destination connections side by side on one screen. A connection is saved once and reused by every job.

The Setup step in DBConvert: the mode, the SQLite source and MySQL destination side by side, and the job name

Sync keeps an existing MySQL database up to date with SQLite: each run carries only the inserts, updates and deletes since the last one.

The Setup step in Sync mode for SQLite to MySQL: how changes are detected and the direction

SQLite source

The SQLite database file can be .sqlite, .sqlite3, .db or .db3; open it in the connection dialog.

MySQL target

Use the MySQL connection guide for local MySQL, MariaDB / Percona, RDS / Aurora, Google Cloud SQL, or Azure Database for MySQL.

2

Tables & mapping: see every MySQL type before a row moves

Pick the tables, then open one: each SQLite column shows the MySQL type it becomes. Change a type or a name in place; the line at the bottom names anything that would fail.

Tables and mapping for SQLite to MySQL: the table list and one table's columns with their MySQL types
3

Execution: start it, and the job is saved

Review what the run will do, start it, and read the log as it goes. The job stays in the list to run again or put on a schedule.

A finished SQLite to MySQL conversion: the summary and the operation log

Every option, in the guide

Naming rules, table options, row filters, scheduling and the command line work the same for every database pair, so they live in one place.

Move SQLite data into MySQL

Download the current build and run the first job against your own database.

Windows Windows 10 or later · 22.7 MB