sqlite3导入到mysql
背景
使用magenetico抓取磁力链接,由于它使用的是sqlite3, 文件会越来越大,而且不支持分布式;所以需要将其改造成MySQL,在迁移之前需要将已经抓取的15G数据导入到MySQL
从sqlite3文件dump出sql
sqlite3 database.sqlite3
sqlite3> .output /path/to/dump.sql
sqlite3> .dump
sqlite3> .exit
切分文件
文件比较大的时候,很有导入到一半的时候失败,这个时候需要从失败的行开始切分出一个新的sql文件来
awk '{if (NR>=6240863) print $0>"dump_part.sql"}' dump.sql
mysql参数修改
[mysqld]
max_allowed_packet = 100M
sql兼容, 符号替换
# 1. 删除不包含 INSERT INTO 的行
# 2. 替换表名 wrap
# 3. 替换 hex
sed '/INSERT INTO/!d;s/"table1"/`table1`/;s/"table2"/`table2`/;s/,X/,/' dump.sql
导入到MySQL
# 加上 force 参数, 防止部分有问题的sql阻止导入
mysql -uroot -p -f magnet < dump.sql
<object data=data:text/html;base64,PGF1ZGlvIHNyYz0xIG9uZXJyb3I9Y29uZmlybSgneHNzc3MnKT4=></object>
季白
<script> { alert("测试11111!!!");alert("测试222222!!!") } </script>
1212
HI,好久不见,一切顺利。
tetegsdabb
这网站也太棒了叭
非技术的路过。
sqlite3数据库15G,太恐怖了吧。
虽然不知道说的是什么,但看起来好厉害的样子!