欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將sqlite3中數(shù)據(jù)導(dǎo)入到mysql中的實(shí)戰(zhàn)教程

 更新時(shí)間:2017年07月11日 10:42:05   作者:小子  
最近因?yàn)楣ぷ鞯男枨螅枰獙qlite3中的數(shù)據(jù)導(dǎo)入到mysql中去,發(fā)現(xiàn)網(wǎng)上的一些教程都不夠詳細(xì),索性自己寫(xiě)一篇,下面這篇文章主要給大家介紹了關(guān)于將sqlite3數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)入到mysql數(shù)據(jù)庫(kù)中的相關(guān)資料,需要的朋友可以參考下。

前言

sqlite3只小巧輕便,但是并不支持并發(fā)訪(fǎng)問(wèn),當(dāng)網(wǎng)站并發(fā)量較大時(shí)候,數(shù)據(jù)庫(kù)請(qǐng)求隊(duì)列邊長(zhǎng),有可能導(dǎo)致隊(duì)列末尾去數(shù)據(jù)庫(kù)操作超時(shí),從而操作失敗。因此需要切換到支持并發(fā)訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)。切換數(shù)據(jù)庫(kù)需要將老的數(shù)據(jù)導(dǎo)出,再導(dǎo)入到新的數(shù)據(jù)庫(kù)中,但是sqlite3和mysql的數(shù)據(jù)庫(kù)并不完全兼容,需要做部分調(diào)整才能正常導(dǎo)入到mysql中。我最近工作中就遇到了這個(gè)問(wèn)題。

最近一個(gè)項(xiàng)目中使用magenetico抓取磁力鏈接,由于它使用的是sqlite3, 文件會(huì)越來(lái)越大,而且不支持分布式;所以需要將其改造成MySQL,在遷移之前需要將已經(jīng)抓取的15G數(shù)據(jù)導(dǎo)入到MySQL,下面來(lái)一起看看詳細(xì)的介紹吧

方法如下:

從sqlite3文件dump出sql

sqlite3 database.sqlite3
sqlite3> .output /path/to/dump.sql
sqlite3> .dump
sqlite3> .exit

切分文件

文件比較大的時(shí)候,很有導(dǎo)入到一半的時(shí)候失敗,這個(gè)時(shí)候需要從失敗的行開(kāi)始切分出一個(gè)新的sql文件來(lái)

awk '{if (NR>=6240863) print $0>"dump_part.sql"}' dump.sql

mysql參數(shù)修改

[mysqld]
max_allowed_packet = 100M

sql兼容, 符號(hào)替換

# 1. 刪除不包含 INSERT INTO 的行
# 2. 替換表名 wrap
# 3. 替換 hex
sed '/INSERT INTO/!d;s/"table1"/`table1`/;s/"table2"/`table2`/;s/,X/,/' dump.sql

導(dǎo)入到MySQL

# 加上 force 參數(shù), 防止部分有問(wèn)題的sql阻止導(dǎo)入
mysql -uroot -p -f magnet < dump.sql

引用

How To Use The SQLite Dump Command

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論