mysql 5.6 이후 버전에서는 셀이나 커맨드 라인에서 계정정보를 그대로 노출하면 경고가 발생한다.


Waring: Using a password on the command line interface can be insecure.




작업은 성공하니 문제는 없으나  나중 버전에서는 -p 옵션을 사용할 수 없다는 얘기도 있으니..

그걸 제외 하더라도 스크립트에 계정 정보를 모두가 볼수 있게 적어주는건 좋지 않기 때문에 (보안만 확실하면 큰 문제는 되지 않지만.. 어찌되었건..)

mysql_config_editor 를 사용하여 로그인파일을 생성해 놓고 설정명만을 명시하여 사용할 수 있다.

구문도 짧아지니 이것도 이점이라 할수 있겠다.


ex-1) # mysql_config_editor set --login-path=[접속명칭] --host=[host 정보] --user=[계정명] --password --socket=/tmp/mysql.sock --port=3306

ex-2) # mysql_config_editor set --login-path=[접속명칭] --host=[host 정보] --user=[계정명] --password --port=3306

대부분의 블로그 에서는 ex-1 로 소개하고 있으나 ex-2 처럼 작성 하여도 특별한 문제는 없어 보인다. 

(오늘 처음 써봤고, --socket 옵션에 대해서 특별한 설명은 못 찾겠다 꾀꼬리~)


등록이 완료되면 계정 폴더에 .mylogin.cnf 파일이 생성된다.

열어봐야 읽을수도 없으니 아래 이미지를 보고 궁금증만 푸시길 바란다.

 참고: # chmod 666 .mylogin.cnf 로 권한정보를 수정하게 되면 mysql --login-path=dump_usr 했을때 오류가 발생한다.

        이런 궁금증은 제가 풀어 드릴테니 괜한 시간 낭비는 하지 않기를 바랍니다.


등록 내역을 보고 싶을때는 # mysql_config_editor print --all


mysql 에 접속               # mysql --login-path=dump_usr

특정 접속 정보만 삭제   # mysql_config_editor remove --login-path=dump_usr

전체 정보를 삭제           # mysql_config_editor remove 


이상 궁금증을 해결하다보니 .. 내용이 길어 졌습니다. 이해하고 넘어가 주세요

+ Recent posts