geo*_*sey 64
在Github上有一个很棒的Linux shell脚本,可以将Mysql转换为Sqlite3文件.您需要在服务器上安装mysqldump和sqlite3.效果很好.
由@quassy 编辑的@user2111698 的答案按承诺工作。由于我经常这样做,因此我将他们的指令放入 bash 脚本中:
#!/bin/bash
mysql_host=localhost
mysql_user=george
mysql_dbname=database
sqlite3_dbname=database.sqlite3
# dump the mysql database to a txt file
mysqldump \
--skip-create-options \
--compatible=ansi \
--skip-extended-insert \
--compact \
--single-transaction \
-h$mysql_host \
-u$mysql_user \
-p $mysql_dbname \
> /tmp/localdb.txt
# remove lines mentioning "PRIMARY KEY" or "KEY"
cat /tmp/localdb.txt \
| grep -v "PRIMARY KEY" \
| grep -v KEY \
> /tmp/localdb.txt.1
# mysqldump leaves trailing commas before closing parentheses
perl -0pe 's/,\n\)/\)/g' /tmp/localdb.txt.1 > /tmp/localdb.txt.2
# change all \' to ''
sed -e 's/\\'\''/'\'''\''/g' /tmp/localdb.txt.2 > /tmp/localdb.txt.3
if [ -e $sqlite3_dbname ]; then
mv $sqlite3_dbname $sqlite3_dbname.bak
fi
sqlite3 $sqlite3_dbname < /tmp/localdb.txt.3
Run Code Online (Sandbox Code Playgroud)
可以在https://gist.github.com/grfiv/b79ace3656113bcfbd9b7c7da8e9ae8d找到带有详细评论的要点
Orb*_*bit -18
导出数据
mysqldump database > database.sql
Run Code Online (Sandbox Code Playgroud)
并导入数据
sqlite3 database < database.sql
Run Code Online (Sandbox Code Playgroud)
您可能需要 -u (用户)和 -p (密码)选项