반응형

모니터링이나 자동화 등 mysql client를 통해 command line 환경에서 값을 얻어와 활용하는 경우, 한 번의 커맨드로 끝내기 위해 password까지 포함해서 이용하게 된다.


이런 상황에서 아래와 같이 패스워드가 command line에 노출됬으니 주의하라는 메시지가 나오며, 결과값이 출력되게 된다.

$ mysql -uroot -pabc123 -e "show variables like 'innodb_%'"
Warning: Using a password on the command line interface can be insecure. 
...


쉘 스크립트나 Zabbix 등에서는 원하는 값을 integer나 string형태로 얻어와서 변수에 담아야 하기 때문에, 경고 메시지가 매우 껄끄러울 수 있으며, 오작동의 원인이 될 수 있다.


그래서 mysql 5.6.6 버전 이후부터는 mysql_config_editor라는 tool을 제공하고 있고, id, password, host 정보를 alias로 묶어서 관리할 수 있도록 하고 있다.


여기서는 등록 및 삭제, mysql 커맨드에서의 이용방법에 대해서만 알아보겠다.


[등록]

$ mysql_config_editor set --login-path=root_login --host=localhost --user=root --password=rootpassword


[삭제]

$ mysql_config_editor remove --login-path=root_login


[활용]

$ mysql --login-path=root_login -e "show variables like 'innodb_%'"


거슬렸던 Warning 메시지가 사라지는 것을 확인할 수 있다.

반응형
,