Какой минимальный набор привилегий mytop
требует для работы, фактически не требуя привилегий суперпользователя.
Мне неудобно сохранять пароль в файле конфигурации (менее желательной альтернативой будет командная строка), поэтому я хочу минимизировать влияние, если кто-то увидит пароль. Пароль по-прежнему будет использоваться только в этом месте, но я бы предпочел не давать ненужных привилегий пользователю (MySQL), от имени которого работает mytop.
В mytop
в документации ничего из этого не упоминается, и все примеры предполагают root
.
Насколько я могу судить, все, что вам нужно, достаточно, чтобы запустить SHOW PROCESSLIST
и SHOW STATUS
на сервере mysql, что должно означать, что вам нужно только ИСПОЛЬЗОВАНИЕ, и ОБРАБОТАТЬ.
Так что создайте такую учетную запись.
grant usage,process on *.* to 'mytop'@'%' identified by 'mypassword';
Если вы не хотите сохранять свой пароль, используйте командную строку. Эта команда войдет в систему как пользователь mytop и запросит пароль, чтобы он не сохранялся в вашей истории или списке процессов.
mytop -u mytop --prompt
Я обнаружил, что мне также нужно предоставить SELECT для mysql. *, Чтобы mytop действительно преуспел, в дополнение к использованию процесса, упомянутого выше.