MySQL(MariaDB)からSQLiteへデータベースを変換する方法
MySQLのデータベースをSQLiteへ変換する必要があったので、手順をメモっておきます。
環境は以下の通りです。
- CentOS Stream 8
- MariaDB 10.3.27(MySQLでも可)
- SQLite 3.26.0
SQLite3がインストールされていない場合、下記のコマンドでインストールしておいて下さい。
$ dnf -y install sqlite
下記のコマンドを実行して、データベースをdumpしてください。
$ mysqldump --skip-extended-insert --compact データベース名 > dump.sql
認証が必要な場合は下記のコマンド使って下さい。下記のコマンドではユーザー名がrootになってるので、適切なユーザー名に変更して下さい。
$ mysqldump --skip-extended-insert --compact -u root -p データベース名 > dump.sql
dumpが完了したら、下記のコマンドでmysql2sqliteというスクリプトダウンロードして下さい。
$ wget https://raw.githubusercontent.com/dumblob/mysql2sqlite/master/mysql2sqlite
mysql2sqliteはMySQLからSQLiteへと変換してくれるやつです。詳細はGitHubを確認して下さい。
dumblob/mysql2sqlite
Converts MySQL dump to SQLite3 compatible dump. Contribute to dumblob/mysql2sqlite development by creating an account on GitHub.
スクリプトがダウンロード完了したら、下記のコマンドでスクリプトを実行して下さい。
$ ./mysql2sqlite dump.sql | sqlite3 sqlite.db
スクリプトの実行が完了すると、ディレクトリ内にsqlite.dbが生成されています。
以上で変換完了です。