search
HomeDatabaseMysql Tutorialapache访问日志access.log的解析以及如何将其导入mysql_MySQL

Apache

bitsCN.com

apache访问日志access.log的解析以及如何将其导入mysql
 

access.log导入mysqlload data local inf

首先,我们对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。

 

第九项,客户端的详细信息

 

根据需求可以建张表

 

CREATE TABLE IF NOT EXISTS `apache_log` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号',

  `hostip` char(32) NOT NULL  DEFAULT '0.0.0.0' COMMENT '远程主机的IP地址',

  `marking` char(30)  COMMENT '浏览者的标识',

  `client_name` char(30)  COMMENT '浏览者的名字',

  `addtime` char(64) NOT NULL COMMENT '浏览时间',

  `time_zone` char(8) NOT NULL COMMENT '时区',

  `method` char(8)  NOT NULL COMMENT '方法',

  `resource` char(64)  NOT NULL COMMENT ' 请求的资源',

  `protocol` char(8)  COMMENT '请求使用的协议',

  `status` int(5)  COMMENT '状态代码',

  `bytes` int(5)  COMMENT '发送给客户端的总字节数',

  `refer` char(128)  COMMENT '客户在提出请求时所在的目录或URL',  

  `client_info` char(128)  COMMENT '客户在提出请求时所在的目录或URL',

  PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

 

先用awk处理apache日志,将每一项都用空格分开,那么大家看到下面的好多数字就迷惑了,这到底是个什么东西呢。首先awk '{print 0 ,像apache日志的文本中每行写入一个0,原因是,表结构的第一个字段是自增列,我只要把0导入,0表示默认值,它就可以自动增长了。

cat apache_log| awk '{print 0 " "$1 " "$2 " "$3" "  for (i=4;i> apache_log.txt

 

 

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)

 

导入成功
 

bitsCN.com
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
哈医大临床药学就业是否有前途(哈医大临床药学就业前景怎么样)哈医大临床药学就业是否有前途(哈医大临床药学就业前景怎么样)Jan 02, 2024 pm 08:54 PM

哈医大临床药学就业前景如何尽管全国就业形势不容乐观,但药科类毕业生仍然有着良好的就业前景。总体来看,药科类毕业生的供给量少于需求量,各医药公司和制药厂是吸纳这类毕业生的主要渠道,制药行业对人才的需求也在稳步增长。据介绍,近几年药物制剂、天然药物化学等专业的研究生供需比甚至达到1∶10。临床药学专业就业方向:临床医学专业学生毕业后可在医疗卫生单位、医学科研等部门从事医疗及预防、医学科研等方面的工作。就业岗位:医药代表、医药销售代表、销售代表、销售经理、区域销售经理、招商经理、产品经理、产品专员、护

如何清理temp文件夹如何清理temp文件夹Feb 22, 2024 am 09:15 AM

如何清理temp文件夹随着我们在电脑上的使用,临时文件(temp文件)会逐渐积累。这些临时文件是在我们使用计算机时生成的,如浏览网页时的缓存文件、软件安装时的临时文件等。长时间不清理temp文件夹可能会占据大量磁盘空间,影响电脑运行速度。因此,定期清理temp文件夹是维护电脑性能的必要步骤。下面,我们将介绍清理temp文件夹的一些简单方法。方法一:手动清理t

win10镜像如何快速下载win10镜像如何快速下载Jan 07, 2024 am 11:33 AM

最近有小伙伴反应win10镜像文件该如何下载,因为市面的镜像文件多如牛毛,想找到正规的文件下载,这可怎么办呢?今天小编带来了下载镜像的链接,详细的解决步骤,具体的一起来看看吧。win10镜像快速下载安装教程下载链接>>>系统之家Ghostwin101909镜像64位版v2019.11<<<>>>Win10镜像64位v2019.07<<<>>>Win10镜像32位v2019.07<<<1、通过网络检索

Win10系统如何重置Win10系统如何重置Jun 29, 2023 pm 03:14 PM

  Win10系统如何重置?现在有很多小伙伴都是喜欢使用Win10系统的电脑,而在使用电脑的过程中难免会遇到一些无法解决的问题,这时候可以尝试去重置系统,那么应该如何操作呢?下面就跟着小编一起来看Win10系统重置的教程吧,有需要的用户可不要错过。  Win10系统重置的教程  1、点击windows,选择设置。  2、点击更新和安全。  3、选择恢复。  4、右侧点击开始,重置此电脑。以上就是【Win10系统如何重置-Win10系统重置的教程】全部内容了,更多精彩教程尽在本站!

如何查看win11电脑配置如何查看win11电脑配置Jun 29, 2023 pm 12:15 PM

如何查看win11电脑配置?win11系统是一款非常实用的电脑操作系统版本,该版本为用户们提供了丰富的功能,让用户们能够有更好的电脑操作体验,那么很多使用电脑的小伙伴们都很好奇自己电脑的具体配置,在win11系统中该如何进行这一操作呢?很多小伙伴不知道怎么详细操作,小编下面整理了win11电脑配置查看教程,如果你感兴趣的话,跟着小编一起往下看看吧!win11电脑配置查看教程1、点击下方任务栏的windows图标或者按下键盘“windows键”打开开始菜单。2、在开始菜单中找到“设置”或“sett

解决系统重装时的环境检测问题解决系统重装时的环境检测问题Jan 08, 2024 pm 03:33 PM

重装系统时环境检测未通过如何解决需要进行改写的原因是:手机中毒了,可以安装手机管家等杀毒软件进行杀毒2、手机内部存储了许多垃圾文件,导致手机运行内存被占用。只需清理手机缓存即可解决这个问题3、手机内存被保存的软件和文件占用太多,需要经常删除不需要的文件和软件没问题,只要你的硬件配置符合安装要求,你可以直接使用新的系统盘重新安装系统!你可以使用U盘或者硬盘来进行安装,速度非常快。但是关键是要使用兼容性好的系统盘(支持IDE、ACHI、RAID模式的安装),并且能够自动永久激活,已经经过验证的。这样

如何将HTML元素的值相加?如何将HTML元素的值相加?Sep 16, 2023 am 08:41 AM

本文将教你如何在HTML中添加元素的值。我们对HTML中的value属性以及使用value属性的情况有一个基本的了解。让我们期待对HTMLvalue属性有更好的理解。在HTML中,value属性用于描述与其一起使用的元素的值。对于各种HTML组件来说,它具有不同的含义。用法-它可以与、、、、、和、元素一起使用。-当value属性存在时,它指示输入元素的默认值是什么。对于各种类型的输入,它都有不同的含义:当按钮出现在"button,""reset,"和&qu

如何在mysql中重置密码如何在mysql中重置密码Feb 18, 2024 pm 12:41 PM

MySQL是一个开源的关系型数据库管理系统,被广泛应用于各种类型的应用程序开发中。在使用MySQL数据库时,经常需要修改密码,以提高数据库的安全性。本文将介绍如何通过具体的代码示例来修改MySQL密码。在MySQL中,可以通过以下步骤来修改密码:登录到MySQL数据库服务器:打开命令提示符或终端窗口,并执行以下命令:mysql-uroo

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.