2013-10-28 95 views
1

我在我的MySQL DATABSE下表:名單垃圾郵件IP地址的

CREATE TABLE IF NOT EXISTS `virt100706_wie`.`banned_ips` (
    `idbanned_ips` INT NOT NULL AUTO_INCREMENT , 
    `ip` TEXT NOT NULL , 
    `date` DATE NOT NULL , 
    `reason` TEXT NULL , 
    PRIMARY KEY (`idbanned_ips`)) 
ENGINE = InnoDB 

我想添加到其IP地址,這是垃圾郵件發送的名單,屬於黑客僵屍網絡等。並永久阻止訪問它到我的網站。

我找到了一個好名單here,但它發表在CSV格式,我需要在SQL格式(INSERT語句)。

我的問題是:是否有SQL格式publihsed垃圾郵件IP地址的任何名單?有沒有什麼工具可以將CSV轉換成SQL INSERT格式?

提前感謝!

+1

你 - 程序員 - 是爲它的工具。然而,使用phpmyadmin你也可以導入csv文件 – hek2mgl

+0

@ hek2mgl我認爲手動輸入892875行到數據庫是不愉快的... PhpMyAdmin可以導入CSV文件? – TN888

+0

當然,我的意思是你應該寫一個腳本。 (我說程序員)!!! :)是的,phpmyadmin可以爲你做 – hek2mgl

回答

2

我有時會做這樣的事情。這是一個值得爲之編寫腳本的任務。通常我不寫一個腳本 - 我將使用Emacs的鍵盤宏,但如果你的編輯器不支持鍵盤宏,還有一種方法:

  • 打開CSV電子表格程序
  • 寫的是,在正確的地方 值代替公式列(假設IP地址是在A列)

    ="INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ('" & A1 & "',NOW());"

  • 向下填充公式

然後複製並粘貼到結果的編輯器並保存爲.sql文件。

+0

在LibreOffice中我看到「Err:522」 – TN888

+0

IP地址在B列 – TN888

+0

好了,現在好了,謝謝 – TN888

3

您可以從下載的csv文件中自行創建SQL INSERT語句。 通過適當的'awk'命令來管理你的文件,並將輸出寫入文件 - 見下文。 比使用該文件作爲您的SQL INSERT提要。

此命令將創建SQL你需要:

$ tail -n+2 spam-ip.com_10-28-2013.csv | awk 'BEGIN { FS = ", " } ; {print "INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES (\"" $2 "\",now());"}' > spam-ip.com_10-28-2013.sql 

實例管道輸出:

$ tail spam-ip.com_10-28-2013.sql 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("61.191.191.154",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("95.79.195.2",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("194.8.75.54",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("218.247.161.37",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("94.75.193.168",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("94.142.128.220",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("212.157.248.198",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("99.228.96.58",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("92.112.40.145",now()); 
INSERT INTO virt100706_wie.banned_ips (ip,date) VALUES ("118.35.46.144",now()); 
$ 

比是這樣的:

$ mysql -u XXX -p virt100706_wie < spam-ip.com_10-28-2013.sql 
相關問題