Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 프로그램에서 옵션 파일 활용하기: 설정 파일 사용법 총정리

MySQL 프로그램 대부분은 시작 시 필요한 옵션을 옵션 파일(option file), 즉 설정 파일(configuration file)에서 읽어 들일 수 있습니다. 옵션 파일을 활용하면 자주 사용하는 옵션을 미리 지정해 둘 수 있어, 프로그램을 실행할 때마다 명령줄에 일일이 입력하는 번거로움을 없앨 수 있습니다.

프로그램이 옵션 파일을 읽는지 확인하는 방법

  • 특정 프로그램이 옵션 파일을 읽는지 확인하려면 --help 옵션으로 프로그램을 실행하면 됩니다.
  • mysqld의 경우 --verbose--help 옵션을 함께 사용합니다.
  • 프로그램이 옵션 파일을 읽는다면 도움말 메시지에 어떤 파일을 찾는지, 어떤 옵션 그룹을 인식하는지 함께 표시됩니다.

--no-defaults 옵션의 동작

--no-defaults 옵션으로 실행된 MySQL 프로그램은 .mylogin.cnf를 제외한 어떤 옵션 파일도 읽지 않습니다. 또한 persisted_globals_load 시스템 변수가 비활성화된 상태로 시작된 서버는 mysqld-auto.cnf를 읽지 않습니다.

옵션 파일의 종류와 특징

대부분의 옵션 파일은 일반 텍스트 파일로, 아무 텍스트 편집기로나 만들 수 있습니다. 다만 아래의 두 파일은 예외적으로 별도의 방식으로 생성·관리됩니다.

.mylogin.cnf — 로그인 경로 파일

  • .mylogin.cnf는 로그인 경로(login path) 옵션이 담긴 파일입니다.
  • mysql_config_editor 유틸리티가 생성하는 암호화된 파일입니다.
  • "로그인 경로"는 host, user, password, port, socket 옵션만 허용하는 옵션 그룹입니다.
  • 클라이언트 프로그램은 --login-path 옵션으로 .mylogin.cnf에서 읽어 올 로그인 경로를 지정합니다.
  • 기본 파일 대신 다른 이름의 로그인 경로 파일을 사용하려면 MYSQL_TEST_LOGIN_FILE 환경 변수를 설정해야 합니다.
  • 이 환경 변수는 mysql-test-run.pl 테스트 유틸리티에서 사용되지만, mysql_config_editor 및 mysql, mysqladmin과 같은 MySQL 클라이언트에서도 인식됩니다.

mysqld-auto.cnf — 영속화된 시스템 변수 파일

  • 데이터 디렉터리에 위치한 mysqld-auto.cnf는 영속화(persisted)된 시스템 변수 설정을 담고 있는 JSON 형식 파일입니다.
  • SET PERSIST 또는 SET PERSIST_ONLY 문을 실행한 후 서버가 자동으로 생성합니다.
  • mysqld-auto.cnf는 반드시 서버가 직접 관리해야 하며, 수동으로 편집해서는 안 됩니다.

마무리

옵션 파일을 잘 활용하면 매번 긴 명령줄 옵션을 입력하지 않아도 되므로 작업 효율이 크게 향상됩니다. 일반 텍스트 기반 옵션 파일은 자유롭게 편집할 수 있지만, .mylogin.cnf는 전용 유틸리티로 생성하고, mysqld-auto.cnf는 서버가 직접 관리한다는 점을 꼭 기억하시기 바랍니다.