Syslog Logging Eigenschaften
machen Wenn die --syslog Option gegeben ist, mysql schreibt interaktive Anweisungen an die Systemprotokollfunktion. Die Nachrichtenprotokollierung hat folgende Eigenschaften: .
Die Protokollierung erfolgt auf der Ebene "Information". Dies entspricht der LOG_INFO-Priorität für Syslog unter Unix/Linux Syslog-Fähigkeit und EVENTLOG_INFORMATION_TYPE für das Windows-Ereignisprotokoll. Informationen zur Konfiguration Ihrer Protokollierungsfunktion finden Sie in der Systemdokumentation .
Die Nachrichtengröße ist auf 1024 Byte begrenzt.
Nachrichten bestehen aus der Kennung mysqlclient durch diese Werte gefolgt:
SYSTEM_USER
Das System Benutzernamen (Login-Namen) oder - wenn der Benutzer nicht bekannt ist.
MYSQL_USER
Die MySQL-Benutzername (mit der Option --user angegeben) oder - wenn die Benutzer sind nicht bekannt.
CONNECTION_ID:
Der Client-Verbindungskennung. Dies entspricht dem CONNECTION_ID() - Funktionswert in der Sitzung.
db_server
Der Server-Host oder - wenn der Host unbekannt ist.
DB
Die Standarddatenbank oder - falls keine Datenbank ausgewählt wurde.
QUERY
Der Text der protokollierten Anweisung.
Hier ist ein Beispiel für eine Ausgabe, die unter Linux mit --syslog erstellt wurde.Diese Ausgabe ist für die Lesbarkeit formatiert; jede geloggte Nachricht tatsächlich dauert eine einzelne Zeile.
Mar 7 12.39.25 myhost mysqlclient [20824]: SYSTEM_USER: 'Oscar', MYSQL_USER: 'my_oscar', CONNECTION_ID: 23, db_server: '127.0.0.1', DB: '-', Frage: 'Test verwenden'; Mar 7 12:39:28 myhost MysqlClient [20824]: SYSTEM_USER: 'oscar', MYSQL_USER: 'my_oscar', CONNECTION_ID: 23,
DB_SERVER: '127.0.0.1', DB: 'test', QUERY: 'ZEIGEN Tische; '
Warten wir ab, aber ich denke, Sie können nicht nach Client-Software filtern und Ihre einzigen Optionen sind alle Abfragen oder nur langsame Abfragen zu protokollieren. (Wenn der Server eine Verbindung erhält, hat er natürlich keine Möglichkeit zu wissen, ob Sie eine Tastatur eingeben oder ob zuvor SQL generiert wurde.) –
Danke @ ÁlvaroGonzález; Ich habe tatsächlich vergessen, dass ich in der Vergangenheit eine mögliche Lösung gesehen habe, aber zu der Zeit war MySQL 5.7 noch in der Betaversion. Ich habe es zur Antwort gemacht. –