MySQL to SQLite3
A simple Python tool to transfer data from MySQL to SQLite 3.
This is the long overdue complimentary tool to my SQLite3 to MySQL. It transfers all data from a MySQL database to a SQLite3 database.
How to run
pip install mysql-to-sqlite3
mysql2sqlite --help
Usage
Usage: mysql2sqlite [OPTIONS]
Transfer MySQL to SQLite using the provided CLI 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, --prompt-mysql-password Prompt for MySQL password
--mysql-password TEXT MySQL password
-t, --mysql-tables TUPLE Transfer only these specific tables (space
separated table names). Implies --without-
foreign-keys which inhibits the transfer of
foreign keys.
-L, --limit-rows INTEGER Transfer only a limited number of rows from
each table.
-C, --collation [BINARY|NOCASE|RTRIM]
Create datatypes of TEXT affinity using a
specified collation sequence. [default:
BINARY]
-K, --prefix-indices Prefix indices with their corresponding
tables. This ensures that their names remain
unique across the SQLite database.
-X, --without-foreign-keys Do not transfer foreign keys.
-W, --without-data Do not transfer table data, DDL only.
-h, --mysql-host TEXT MySQL host. Defaults to localhost.
-P, --mysql-port INTEGER MySQL port. Defaults to 3306.
-S, --skip-ssl Disable MySQL connection encryption.
-c, --chunk INTEGER Chunk reading/writing SQL records
-l, --log-file PATH Log file
--json-as-text Transfer JSON columns as TEXT.
-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.
-q, --quiet Quiet. Display only errors.
--version Show the version and exit.
--help Show this message and exit.