前提: 你會(huì)用vi。 很明顯,本文是在Linux下測(cè)試通過(guò)的。本文用的是MySQL命令行工具,如果你不會(huì),用phpMyAdmin應(yīng)該也可以。
第1步: 下載純真IP數(shù)據(jù),解壓存成ip.txt。
詳解:這一步不用詳解了吧。如果你這一步都不會(huì),下面就不用看了。
第2步: 用vi 編輯 ip.txt。
# vi ip.txt
在vi界面下輸入如下命令:
:%s/\s\+/;/
一共重復(fù)輸入3次。
存盤退出:
:wq
詳解:ip.txt有4列。分別是起始ip,結(jié)束ip,地區(qū),說(shuō)明。列之間用不等數(shù)量的空格間隔。為了將此文本文件到入到mysql,需要處理掉這些空格。但是只能處理掉前3列的空格,最后一列中的空格要保留。vi中輸入的命令意思是,把每一行第一個(gè)和其連續(xù)的空格替換成字符';'。
%s代表全局搜索替換。\s代表空格。\+代表盡可能多地匹配前面的字符。;代表替換成';'
第3步: 導(dǎo)入MySQL
創(chuàng)建MySQL表
復(fù)制代碼代碼如下:
CREATE TABLE `ips` . `ip` (
`ip_start` VARCHAR ( 16 ) NOT NULL ,
`ip_end` VARCHAR ( 16 ) NULL ,
`region` VARCHAR ( 128 ) NULL ,
`comments` VARCHAR ( 512 ) NULL
) ENGINE = MYISAM
為避免出現(xiàn)亂碼, region和comments字段的Collation設(shè)為gbk_chinese_ci
導(dǎo)入ip.txt到ips數(shù)據(jù)庫(kù)的ip表
# mysqlimport -p你的密碼 --local --delete --fields-terminated-by=';' ips ip.txt
完成!
詳解:mysqlimport可以導(dǎo)入一個(gè)文本文件到數(shù)據(jù)庫(kù)的表中。前提是表的名字與文本文件名相同,并且表的字段與文本文件也對(duì)應(yīng)起來(lái)。
--fields-terminated-by=';' 意思是字段用';'間隔開(kāi)來(lái)。
--delete意思是,如果表已存在,導(dǎo)入前清空表中數(shù)據(jù)。