Summary
커맨드라인에 계정정보가 노출되면 아래와 같은 경고 발생
Warning: Using a password on the command line interface can be insecure.
커맨드 혹은 스크립트에서 계정 정보를 노출 하는건 정보가 유출 될 수 있으므로 로그인 파일을 생성한 후 사용하면 좋다.
mysql_config_editor?
MySQL 5.6.6 이상부터 사용가능한 Utility로 암호화된 로그인 파일인
.mylogin.cnf
에 합접적인 인증 정보를 저장하여 사용하는 Utility 이다.mysql_config_editor
명령어는 .mylogin.cnf
파일을 암호화하여 내용을 읽을 수 없게 만들고, client 프로그램에서 해독된 정보만 메모리상에 존재하므로 패스워드 정보를 보호할 수 있다.접속 정보 생성
자세한 설명을 생략하고 바로 접속 정보를 생성하는 방법을 알아보자
$ mysql_config_editor set --login-path=[name] --host=[hostname] --user=[username] --password —port=[port]
위의 명령어를 입력하면 비밀번호를 입력한 후
myinfo.cnf
파일에 접속 정보가 등록된다. 사용자 입력 항목들은 아래와 같다.
[name] : 접속시 사용할 이름
[hostname] : DB 호스트네임
[username] : DB 접속 아이디
[port] : 호스트의 포트번호
등록된 인증 정보 확인
$ mysql_config_editor print --all
[tez]
user = root
password = *****
host = localhost
port = 3306
print 옵션을 사용하여 등록정보를 출력하면 비밀번호 부분은 가려진채로 정보를 보여준다
등록한 인증 정보로 MySQL 사용
# 기존 방법
$ mysql -u [username] -p
# 변경 방법
$ mysql --login-path=[name]
기존에 사용하던
-u [username] -p
대신 —login-path=[name]
옵션을 사용하여 mysql 관련 동작을 처리하면 된다mysql, mysqldump 등 모두 이렇게 사용하면 된다.
등록된 인증 정보 삭제
등록되어있는 인증정보를 삭제하는 방법은 특정 정보만 삭제하는 방법과 전체 정보를 삭제하는 방법 두가지가 있다.
# 특정 접속 정보만 삭제
$ mysql_config_editor remove —login-path=[name]
# 전체 정보를 삭제
$ mysql_config_editor remove
반응형
'Programming > MySQL' 카테고리의 다른 글
[Upsert] 값이 없으면 Insert 하고, 값이 있으면 update 하기 (0) | 2017.01.15 |
---|---|
[Dump] Export/Import Database (0) | 2016.08.21 |