apache日志导入mysql,将Apache访问日志记录到Mysql数据库中

环境

操作系统:CentOS

步骤

1.下载源码

下载地址:

https://packages.debian.org/jessie/libapache2-mod-log-sql-mysql

2.configure

./configure --with-apxs=/usr/local/bin/httpd/bin/apxs --with-mysql=/usr/local/bin/mariadb

注意:一定要检查configure完成有没有出现Mysql Driver

------------------------------------

Apache version : 2.0

SSL Support : yes

Enabled drivers :

MySQL Driver

------------------------------------

3.make

4.make install

配置

Apache配置

LoadModule log_sql_module modules/mod_log_sql.so

LoadModule log_sql_mysql_module modules/mod_log_sql_mysql.so

# 下面这些单独配置到相应的VirtualHost里面

LogSQLLoginInfo mysql://{数据库用户名}:{数据库密码}@{数据库地址}/{数据库名}

LogSQLCreateTables on

LogSQLDBParam socketfile /usr/local/bin/mariadb/mysql.sock

LogSQLTransferLogFormat AbHhmRSsTUuvI

LogSQLTransferLogTable {数据表名}

问题

Apxs的地址,如果是编译安装,一般会在安装目录的bin/目录下找到

mysql客户端库的引用, 如果是源码编译安装, 则直接指向安装目录即可

mysql客户端不可用,检查configure后生成的config.log文件,查看具体原因。

mysql客户端位置不对,由于我安装的是mariadb,在lib下面没有mysql文件夹,所以创建该文件夹,并且讲lib目录的文件创建链接到mysql文件夹中。执行下ldconfig刷新ld缓存。

make 过程中, 提示remote_ip找不到,历史原因, apache已经将remote_ip改为client_ip,只需要按照提示打开对应的文件进行替换即可。

访问日志无法记录,关闭数据库的严格模式,改为宽松模式即可。

参考链接

原文:https://www.cnblogs.com/michaelluthor/p/12084313.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值