Monitoring queries of a MySQL user
11,382
There are a few ways I can suggest.
-
SELECT * FROM information_schema.PROCESSLIST WHERE USER="someuser";
Now it is up to you what you use. Write a cronjob (linux) to store it into a file or write a MySQL event to enter it into a mysql table. - Use General query log and use tools like linux awk, sed, grep etc to parse the log file to get desirable result
But if you are not accustom in writing command line linux command you can use mk-query-digest
or even can configure custom monitoring tools like nagios
, cacti
etc. But I personally prefer MONyog, it does both point 1 and 2 perfectly and best of all it has a GUI.
Author by
Admin
Updated on June 11, 2022Comments
-
Admin almost 2 years
is there any way to monitor/log a MySQL user and the queries he/she has ran? I had to turn off the general log using the query:
SET GLOBAL general_log = 'OFF';
because otherwise the log file was no more processable by text editors. I was looking for a way to turn this log on for some users I want to monitor, but it does not seem to work that way.
Is there any other way to know everything a definite user does run on my database?
Thanks in advance.