最近得到了一個數(shù)十M的MySQL腳本文件,準(zhǔn)備還原為數(shù)據(jù)庫。
以前就使用MySQL-Front短暫使用過MySQL,先用它試試,結(jié)果掛掉。
這樣吧,先用MySQL-Front創(chuàng)建了空數(shù)據(jù)庫,然后使用mysql命令行導(dǎo)入吧。
1)使用MySQL-Front創(chuàng)建了空數(shù)據(jù)庫
因?yàn)榭茨_本中對象都有DEFAULT CHARSET=gbk COMMENT=… 指令,所以字符集選擇gbk
2)啟動MySQL命令行,輸入密碼
3)使用新建的數(shù)據(jù)庫b
輸入命令: use b;
4)更改文件讀取字符集為utf8,這一步很關(guān)鍵
開始時,看到DEFAULT CHARSET=gbk COMMENT=… ,以為要設(shè)為gbk,就使用了以下指令:
set names gbk;
但是導(dǎo)入時,全是錯誤,無法識別中文。
后來認(rèn)識到應(yīng)該設(shè)置為SQL文件本身的字符集,那SQL文件本身的字符集是什么呢?
我的方法是用VS.net IDE 打開文件,然后另存為,選擇“編碼保存”
由此看到字符集是utf-8;
所以
輸入命令: set names utf8; 注意不是 set names utf-8;
5) 導(dǎo)入文件
輸入命令: source 文件路徑;
很快,文件成功導(dǎo)入為數(shù)據(jù)庫,效率很高。
到MySQL-Front中看一下,數(shù)據(jù)正常導(dǎo)入,大功告成!