개발로 자기계발
728x90

MySQL의 --login-path 옵션은 MySQL 5.6.6. 버전부터 추가된 옵션으로, 서버에 로그인하기 위한 사용자 이름, 패스워드, 그리고 기타 연결 매개변수를 설정 파일에 저장하고, 이를 불러올 수 있게 해주는 매우 유용한 기능이다.

 

MySQL --login-path의 중요성

MySQL에 접속할 때 일반적으로 사용자 이름과 패스워드를 직접 입력하는 방식을 사용한다. 그러나 이런 방식은 다음과 같은 문제점이 있다.

  • 보안 문제 : 패스워드를 직접 입력하는 방식은 보안에 취약해진다. 특히, 스크립트나 명령 히스토리에서 패스워드가 노출될 수 있다.
  • 편의성 문제 : 빈번하게 MySQL에 접속해야 할 경우 매번 패스워드를 입력하는 것은 매우 번거로울 수 있다.

그래서 문제점을 보완하기 위해 mysql_config_editor라는 도구를 사용해 패스워드를 설정 파일에 저장하면, --login-path 옵션으로 이 설정을 쉽게 불러올 수 있다. 이렇게 하면 패스워드를 직접 입력할 필요가 없다.

 

MySQL .mylogin.cnf 파일과 mysql_config_editor

  • mysql_config_editor는 MySQL에서 제공하는 설정 파일 편집 도구다. 이 도구를 사용하면 ~/.mylogin.cnf라는 파일에 로그인 정보를 저장할 수 있다. 이 파일은 MySQL 클라이언트가 서버에 접속할 때 참조하는 설정 파일이다.
  • mysql_config_editor를 사용하여 설정을 저장하면, ~/.mylogin.cnf 파일에 암호화된 형태로 정보가 저장된다. 따라서 이 파일을 직접 열어보더라도 패스워드를 알아낼 수 없다. 이는 ~/.mylogin.cnf 파일의 보안을 높여준다.

 

MySQL --login-path 옵션 설정 방법

1. 먼저 mysql_config_editor를 이용하여 login-path를 설정해 준다.

아래는 'myloginpath'라는 이름으로 사용자 이름 'myuser', 호스트 'localhost'에 대한 설정을 저장하는 예시문이다.

mysql_config_editor set --login-path=myloginpath --host=localhost --user=myuser --password

위 명령을 실행하면, 패스워드를 입력하라는 프롬프트가 나타난다. 해당 사용자의 패스워드를 입력한다.

 

2. 설정이 제대로 저장되었는지 확인한다.

mysql_config_editor print --all

3. 이제 mysqldump 또는 다른 MySQL 클라이언트 명령에서 --login-path 옵션을 사용하여 설정을 불러올 수 있다.

아래의 명령은 'myloginpath'라는 로그인 경로를 통해 MySQL에 접속하고, 'mydb'라는 데이터베이스를 백업한 후, 결과를 'mydb_backup.sql' 파일에 저장한다.

mysqldump --login-path=myloginpath mydb > mydb_backup.sql
728x90
SMALL
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)