Sie können das allgemeine Protokoll verwenden. In der Tat sollten Sie versuchen, die MySQL-Tabellenversion des allgemeinen Protokolls zu verwenden.
Wenn Sie dies ausführen:
SHOW CREATE TABLE mysql.general_log\G
Sie sollten so etwas sehen:
mysql> show create table mysql.general_log\G
*************************** 1. row ***************************
Table: general_log
Create Table: CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
1 row in set (0.14 sec)
mysql>
In der user_host
Spalte werden der MySQL-Benutzer und die IP-Adresse / der DNS-Name aufgezeichnet, von dem der Befehl stammt.
Sie sagen wahrscheinlich gerade: "Diese Tabelle ist eine CSV-Datei. Ich müsste sie analysieren." Das stimmt, du müsstest. Wussten Sie jedoch, dass Sie es in eine MyISAM-Tabelle konvertieren können? Ich habe dies tatsächlich für einen DB Hosting-Kunden meines Arbeitgebers ausprobiert und einen Beitrag geschrieben, in dem dies erklärt wird (siehe den Feb 24, 2011
Beitrag unten).
Hier sind die grundlegenden Schritte:
Erstellen Sie die Tabelle mysql.general_log MyISAM
Führen Sie Folgendes aus:
CREATE TABLE mysql.general_log_original LIKE mysql.general_log;
ALTER TABLE mysql.general_log ENGINE=MyISAM;
ALTER TABLE mysql.general_log ADD INDEX (event_time);
Aktivieren Sie das allgemeine Protokoll
Fügen Sie Folgendes hinzu: /etc/my.cnf
[mysqld]
log-output=TABLE
general-log
Wenn Sie auch die Textversion des allgemeinen Protokolls möchten, fügen Sie Folgendes hinzu:
[mysqld]
log-output=TABLE,FILE
general-log
general-log-file=/var/log/mysql_general.log
Starten Sie MySQL neu
Einfach laufen service mysql restart
Ich habe viele Beiträge zur Verwendung des allgemeinen Protokolls und des langsamen Protokolls als MyISAM-Tabellen:
VORBEHALT
MySQL 5.5.28 hat kürzlich das Überwachungsprotokoll- Plugin und dessen Installation eingeführt .
Hier sind die Optionen
Diese sind für mich neu, daher habe ich derzeit keine Vor- oder Nachteile im Audit Log Plugin.
mysql.general_log
mithilfe von Symlinks einer anderen Festplatte zugeordnet. Dadurch werden die Scheibenspindeln reduziert. Befindetmysql.general_log
es sich auf derselben Festplatte wie die Daten, kann dies spürbar langsam sein.