Проверьте подключение mysql по количеству пользователей, подключенных к базе данных X за последние 2 недели или более.
Я пытался получить количество пользователей, подключенных к определенной базе данных (прямо сейчас и за последние несколько недель), но я только подключаю пользователей прямо сейчас:
select a.processlist_db
, a.processlist_user
, count(*)
from performance_schema.threads a
join mysql.general_log b
on a.thread_id = b.thread_id
group
by a.processlist_db
, a.processlist_user;
Я попытался использовать performance_schema, чтобы подключить пользователей, используя thread_id в качестве точки привязки к общему журналу в базе данных mysql, но это только подключает пользователей прямо сейчас или вообще не подключает пользователей.
select b.user_host
, a.current_schema
, b.event_time
, count(b.event_time)
from events_statements_current a
join mysql.general_log b
where a.thread_id = b.thread_id
group
by a.user_host
, a.current_scheam
, b.event_time;
Я попытался найти таблицы, разделяющие столбцы thread_id и current_schema, и нашел следующие:
events_statements_current
events_statements_history
events_statements_history_long
Я заметил, что некоторые таблицы в peformance_schema либо не возвращают никакого значения, например, events_transaction_current/history, как их активировать?
какие параметры необходимо активировать в первую очередь, чтобы эти таблицы хранили данные?
Я также заметил, что когда предыдущие запросы что-то возвращают, иногда у меня есть нулевые значения для processlist_db и processlist_user, почему это происходит? и что это значит?
Спасибо