Is it possible to convert from MySQL to SQLite with a free tool on windows?
Is it possible to convert from MySQL to SQLite with a free tool on windows?
There is a mysql2sqlite.sh script on GitHub
As described in the header, the script can be used like this:
./mysql2sqlite.sh myDbase | sqlite3 database.sqlite
alternatives
I faced the same problem about 2 days ago when I had to convert a 20GB+ MySQL database to SQLite. It was by no means an easy task and I ended up writing this Python package that does the job.
The upside of it being written in Python is that it's cross platform (unlike a shell/bash script) and can all be easily installed using pip install (even on Windows). It uses generators and chunking of the data being processed and is therefore very memory efficient.
I also put in some effort to correctly translate most of the datatypes from MySQL to SQLite.
The tool is also thoroughly tested and works on Python 2.7 and 3.5+.
It is invokable via command line but can also be used as a standard Python class which you can include in some larger Python orchestration.
Here's how you use it:
Usage: mysql2sqlite [OPTIONS]
Options:
-f, --sqlite-file PATH SQLite3 database file [required]
-d, --mysql-database TEXT MySQL database name [required]
-u, --mysql-user TEXT MySQL user [required]
-p, --mysql-password TEXT MySQL password
-h, --mysql-host TEXT MySQL host. Defaults to localhost.
-P, --mysql-port INTEGER MySQL port. Defaults to 3306.
-c, --chunk INTEGER Chunk reading/writing SQL records
-l, --log-file PATH Log file
-V, --vacuum Use the VACUUM command to rebuild the SQLite
database file, repacking it into a minimal amount
of disk space
--use-buffered-cursors Use MySQLCursorBuffered for reading the MySQL
database. This can be useful in situations where
multiple queries, with small result sets, need to
be combined or computed with each other.
--help Show this message and exit.
Simplest way to Convert MySql DB to Sqlite:
1) Generate sql dump file for you MySql database.
2) Upload the file to RebaseData online converter here
3) A download button will appear on page to download database in Sqlite format