首先,我們對apache訪問日誌進行一個解讀,
220.181.108.92 - - [22/Aug/2013:23:59:59 +0800] "GET /min/f=/media/js/jquery-1.7.2.media/js/global_interaction.js&201308221836 HTTP/1.1" 200 70550 "http://adfdfs.com.cn1071-2130-1.html" "Mozilla/5.0 (X11; U; Linux x86_64;
en-US; rv:1.9) Gecko Minefield/3.0"
第一項信息是遠程主機的地址,即它表明訪問網站的究竟是誰。
第二項是空白,用一個“-”佔位符替代。實際上絕大多數時候這一項都是如此。這個位置用於記錄瀏覽者的標識,這不只是瀏覽者的登錄名字,而是瀏覽者的email地址或者其他唯一標識符,通常只是"-";
第三項也是空白用一個佔位符"-"來替代。這個位置用於記錄瀏覽者進行身份驗證時提供的名字。當然,如果網站的某些內容要求用戶進行身份驗證,那麼這項信息是不會空白的。但是,對於大多數網站來說,日誌文件的大多數記錄中這一項仍舊是空白的。
第四項,表示訪問者的訪問時間記錄,無需多解釋,時間信息最後的“+800”表示服務器所處時區位於UTC之後的8小時。
第五項,是整個日誌記錄中最有用的信息,它告訴我們服務器收到的是一個什麼樣的請求
第六項,200狀態代碼
第七項,70500,是服務器發送給客戶端的總字節數
第八項,客戶在提出請求時所在的目錄或URL。
第九項,客戶端的詳細信息
根據需求可以建張表
mysql>load data infile "/root/apache_log.txt" into table apache_log fields terminated by " " lines terminated by '\n';
ERROR 13 (HY000): Can't get stat of '/root/apache_log.txt' (Errcode: 13 - Permission denied)
mysql>load data local infile "/root/apache_log.txt" into table apache_log fields terminated by " " lines terminated by '\n';
Query OK, 2000 rows affected, 2672 warnings (0.61 sec)
Records: 2000 Deleted: 0 Skipped: 0 Warnings: 2672
順便比較一下load data infile 和load data local infile 區別
如果你沒有給出local,則服務器按如下方法對其進行定位:
1)如果你的filename爲絕對路徑,則服務器從根目錄開始查找該文件.
2)如果你的filename爲相對路徑,則服務器從數據庫的數據目錄中開始查找該文件.
如果你給出了local,則文件將按以下方式進行定位:
1)如果你的filename爲絕對路徑,則客戶機從根目錄開始查找該文件.
2)如果你的filename爲相對路徑,則客戶機從當前目錄開始查找該文件.
mysql> desc apache_log;
+--------------+-----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| hostip | char(32) | NO | | 0.0.0.0 | |
| marking | char(30) | YES | | NULL | |
| browser_name | char(30) | YES | | NULL | |
| addtime | char(64) | NO | | NULL | |
| time_zone | char(8) | NO | | NULL | |
| method | char(8) | NO | | NULL | |
| resource | char(64) | NO | | NULL | |
| protocol | char(8) | YES | | NULL | |
| status | int(5) | YES | | NULL | |
| bytes | int(5) | YES | | NULL | |
| refer | char(128) | YES | | NULL | |
| client_info | char(128) | YES | | NULL | |
+--------------+-----------+------+-----+---------+----------------+
13 rows in set (0.00 sec)
mysql> select * from apache_log limit 3;
+----+-----------------+---------+--------------+-----------------------+-----------+--------+--------------------------------------------+----------+--------+-------+-------+------------------------------------------------------------------------------------+
| id | hostip | marking | browser_name | addtime | time_zone | method | resource | protocol | status | bytes | refer | client_info
|
+----+-----------------+---------+--------------+-----------------------+-----------+--------+--------------------------------------------+----------+--------+-------+-------+------------------------------------------------------------------------------------+
| 1 | 220.181.108.116 | - | - | [21/Aug/2013:23:59:59 | +0800] | "GET | /search/prj/tag/2089-2124-2350-2354-1.html | HTTP/1.1 | 200 | 8181 | "-" | "Mozilla/5.0(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)"
|
| 2 | 220.181.165.5 | - | - | [21/Aug/2013:23:59:59 | +0800] | "GET | /event/bushanping/admin_login.php | HTTP/1.1 | 200 | 32095 | "-" | "Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN;rv:1.9.1.1)Gecko/20090715Firefox/3.5.1"
|
| 3 | 220.181.165.136 | - | - | [21/Aug/2013:23:59:59 | +0800] | "GET | /search/diy/server-status/ | HTTP/1.1 | 404 | 21795 | "-" | "Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN;rv:1.9.1.1)Gecko/20090715Firefox/3.5.1"
|
+----+-----------------+---------+--------------+-----------------------+-----------+--------+--------------------------------------------+----------+--------+-------+-------+------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)
導入成功