0
我正在使用將應用程序的日誌存儲在平面文件中的項目。是否可以將日誌文件轉儲到數據庫中?
但是日誌還需要存儲在mysql數據庫中以用於監視目的。
是否可以使用日誌文件作爲輸入來創建數據庫?所以我想這將是一個mysqldump的反面?
我正在使用將應用程序的日誌存儲在平面文件中的項目。是否可以將日誌文件轉儲到數據庫中?
但是日誌還需要存儲在mysql數據庫中以用於監視目的。
是否可以使用日誌文件作爲輸入來創建數據庫?所以我想這將是一個mysqldump的反面?
是的,這是可能的。有一百萬種方法可以做到這一點,這裏是一個使用bash和sqlite3作爲數據庫的方法。
dw2:/tmp$ echo 'create table log (datetime string, message varchar(255));' | sqlite3 test.db
dw2:/tmp$ cat test.log
2013-01-16 05:24:40-05:00 Log line 1
2013-01-16 05:24:42-05:00 Log line 2
2013-01-16 05:24:44-05:00 Log line 3
2013-01-16 05:24:46-05:00 Log line 4
dw2:/tmp$ while read date time logmsg; do
echo "insert into log values ('$date $time', '$logmsg');" | sqlite3 test.db
done < test.log
dw2:/tmp$ echo 'select * from log;' | sqlite3 test.db
2013-01-16 05:24:40-05:00|Log line 1
2013-01-16 05:24:42-05:00|Log line 2
2013-01-16 05:24:44-05:00|Log line 3
2013-01-16 05:24:46-05:00|Log line 4
它們已經存儲在已針對文件存儲和檢索進行了優化的數據庫中:文件系統。你爲什麼要將它們存儲在RDBMS中?你提到的這些「監控目的」是什麼? – eggyal
作爲系統需要登錄到平面文件的需求的一部分,我需要他們在MySQL數據庫中。工具將被用來分析mysql數據庫中的數據。我不確定這些工具是什麼 – Travis
「*我需要他們在MySQL數據庫*」可能需要一些進一步的解釋。這個數據庫的模式是什麼?它可能會由要執行的分析或操縱它的工具決定。這反過來將決定如何導入日誌。 – eggyal