Existen programas que permiten autenticar usuarios a partir de una base de datos MySQL y también escribir ficheros de log en una tabla MySQL.
Se puede modificar el formato de logging de Apache para que MySQL pueda interpretarlo, colocando lo siguiente en el fichero de configuración de Apache:
LogFormat \ "\"%h\",%{%Y%m%d%H%M%S}t,%>s,\"%b\",\"%{Content-Type}o\", \ \"%U\",\"%{Referer}i\",\"%{User-Agent}i\""
Para cargar dentro de MySQL un fichero de log en dicho formato, se puede emplear una sentencia como esta:
LOAD DATA INFILE '/local/access_log
' INTO TABLEtbl_name
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\'
La tabla destino debería ser creada de forma que contenga las
columnas tal como las especifica la línea
LogFormat
.