Tagged: MySQL 모니터링

MySQL 모니터링을 위한 계정 권한

MySQL 에서는 각종 지표등을 제공하는데, 이러한 지표를 얻기 위해서는 MySQL 계정이 있어야 한다. 대부분 MySQL 계정을 생성하고 권한을 주는데, 습관처럼 “ALL PRIVLEGES” 를 주는 경우가 많다. 하지만 모든 시스템에서 계정은 최소한의 필요한 권한만 주도록 하는 것이 보안의 시작이다.

이 문서는 MySQL 모니터링을 위한 계정 권한에 대해 다룬다.

계정생성

MySQL 8.0 기준으로 계정 생성은 다음과 같다.

이렇게 생성을 하고 난 후에 이제 GRANT 명령어를 이용해서 권한을 줘야 한다.

모니링을 위한 권한 부여

‘ALL PRIVILEGES’ 로 모든 권한을 줘는 안되며 모니터링을 위한 권한만 주면 된다.

telegraf 사용자의 경우에 최대 접속자 수를 5로 제한했다. 프로세스와 리플리케이션 상태를 보기 위해 PROCESS, REPLICATION CLIENT 권한을 부여 했다.

performance_schema 데이터베이스에 대한 SELECT 권한을 부여 한다. 성능관련 지표들을 performance 스키마에 기록하는데, 이에 대한 접근권한을 부여 한 것이다.

결론

무수히 많은 메트릭들을 제공하는 MySQL 이라 어떤 것을 수집할지에 따라서 부여해야할 권한도 달라지지만, 대략적으로 이 정도면 MySQL 을 모니터링하는데 무리는 없다.

출처: The MySQL Input Plugin for Telegraf gathers data from a MySQL server.