MySQL から 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 を確認して下さい。
スクリプトがダウンロード完了したら、下記のコマンドでスクリプトを実行して下さい。
$ ./mysql2sqlite dump.sql | sqlite3 sqlite.db
スクリプトの実行が完了すると、ディレクトリ内に sqlite.db が生成されています。