今天看到一高人的mysql數(shù)據(jù)庫(kù)達(dá)到了6G左右,導(dǎo)入都是個(gè)問(wèn)題,上傳也挺麻煩的,這里特分享下,方便需要的朋友
工具選擇
一。sqlyog 這個(gè)工具還是很強(qiáng)大的,但是面對(duì)5個(gè)G的數(shù)據(jù)庫(kù)來(lái)說(shuō),也只能罷工了,簡(jiǎn)單說(shuō),本機(jī)導(dǎo)入可以,從本機(jī)導(dǎo)入服務(wù)器不行。
二。phpadmin 自帶的這個(gè)挺人家說(shuō)還行,但是最后沒(méi)用過(guò),原因是看不見(jiàn),因?yàn)樽疃?0M,雖然修改配置文件可以上傳但是5個(gè)G還是算了吧,沒(méi)那個(gè)信心。
三。還有一個(gè)是一個(gè)PHP腳本。好像是德國(guó)人寫(xiě)的。這個(gè)東西,也是導(dǎo)入數(shù)據(jù)的,怎嘛說(shuō)呢,本人是沒(méi)試驗(yàn)成功。但是網(wǎng)上叫好一片,我是5G數(shù)據(jù)沒(méi)點(diǎn)成功,這是折騰了第二天了。
四。數(shù)據(jù)庫(kù)分割導(dǎo)入這個(gè)我也用到了,每個(gè)分割100M,汗一下。不能再小了。。。分割出60多個(gè)SQL,還是會(huì)報(bào)各種錯(cuò)誤。這個(gè)工具也失敗了。如果你想用,去網(wǎng)上找找吧mysql分割
下面的圖片就是導(dǎo)入成功后的圖片了,
GZ壓縮式1.3G解壓后變成4.52G。導(dǎo)入到數(shù)據(jù)庫(kù),就變成6.6G了。。。。。
最后還是用命令導(dǎo)進(jìn)去的
mysql -uroot -p shujukuming
再說(shuō)下錯(cuò)誤吧
簡(jiǎn)單的說(shuō)就是各種錯(cuò)誤都能遇到
錯(cuò)誤1
ERROR 5 (HY000) at line 318: Out of memory (Needed 1681784 bytes)
這個(gè)錯(cuò)誤能報(bào)很多 是使用 -f 報(bào)出來(lái)的,大致意思是內(nèi)存不足,
解決辦法 :mysql -uroot -p shujukuming -f
錯(cuò)誤2
ERROR 1062 (23000) at line 30: Duplicate entry ‘1’ for key ‘PRIMARY’
這個(gè)錯(cuò)誤是鍵值錯(cuò)誤的意思
解決辦法:網(wǎng)上說(shuō)是要清空數(shù)據(jù)表數(shù)據(jù),可是在用數(shù)據(jù)分區(qū)的時(shí)候主鍵和分區(qū)時(shí)不能同時(shí)使用,把主鍵在更改下就行
錯(cuò)誤3
mysql error nr.2006-mysql server has gone away
這個(gè)錯(cuò)誤是 上傳限制的問(wèn)題需要修改配置文件
配置文件在 linx叫 my.conf 在windows叫my.ini
這里面的東西修改要小心了亂改是不行的。
簡(jiǎn)單的就是修改幾個(gè)配置就行了
max_allowed_packet=166666m 這個(gè)是限制文件大小的由于要上傳6個(gè)G所以改成1111111M 額應(yīng)該夠了吧
wait_timeout=288000000 等待超時(shí)。??词赂陌?,我在后面加了好幾個(gè)0.。。
interactive_timeout= 288000000運(yùn)行超時(shí)。。。??词赂陌?,我在后面加了好幾個(gè)0.。。
除了幾個(gè)就不要修改其他的配置文件了,注意重啟下服務(wù)器
錯(cuò)誤4
這個(gè)是個(gè)很低級(jí)的錯(cuò)誤
mysql 版本不對(duì) 現(xiàn)在流行的都是5.0+
注意高版本不能導(dǎo)入低的版本,5.5+是不能導(dǎo)入到5.0+的有些查詢語(yǔ)句不支持。
轉(zhuǎn)帖請(qǐng)標(biāo)明來(lái)源謝謝 http://skss.blog.163.com/
以上就是本人遇到的各種問(wèn)題,如有其它問(wèn)題請(qǐng)多多指教,畢竟6個(gè)G的文件啥sql也打不開(kāi)