MySQL은 다양한 환경 변수를 직접 또는 간접적으로 활용합니다. 이 글에서는 MySQL에서 사용되는 주요 환경 변수의 이름과 각각의 역할을 체계적으로 정리하여 소개합니다.
MySQL 주요 환경 변수 목록
AUTHENTICATION_LDAP_CLIENT_LOG − 클라이언트 측 LDAP 인증의 로깅 수준을 지정합니다.
AUTHENTICATION_PAM_LOG − PAM 인증 플러그인의 디버그 로깅 설정을 담당합니다.
CC − CMake 실행 시 사용할 C 컴파일러의 이름입니다.
CXX − CMake 실행 시 사용할 C++ 컴파일러의 이름입니다.
DBI_USER − Perl DBI의 기본 사용자 이름입니다.
DBI_TRACE − Perl DBI의 추적(trace) 옵션입니다.
HOME − mysql 히스토리 파일의 기본 경로($HOME/.mysql_history)를 결정합니다.
LD_RUN_PATH − libmysqlclient.so의 위치를 지정하는 데 사용됩니다.
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN − mysql_clear_password 인증 플러그인을 활성화합니다.
LIBMYSQL_PLUGIN_DIR − 클라이언트 플러그인을 검색할 디렉터리를 지정합니다.
LIBMYSQL_PLUGINS − 클라이언트 플러그인을 미리 로드(preload)하는 데 사용됩니다.
MYSQL_DEBUG − 디버깅 시 추적 옵션을 지원합니다.
MYSQL_GROUP_SUFFIX − 옵션 그룹 접미사 값입니다(예: --defaults-group-suffix 지정).
MYSQL_HISTFILE − mysql 히스토리 파일의 경로입니다. 이 변수가 설정되면 $HOME/.mysql_history 기본값보다 우선 적용됩니다.
MYSQL_HISTIGNORE − --syslog 옵션이 지정된 경우, $HOME/.mysql_history 또는 syslog에 기록하지 않아야 할 문장을 나타내는 패턴입니다.
MYSQL_HOME − 서버 전용 my.cnf 파일이 위치한 디렉터리의 경로입니다.
MYSQL_HOST − mysql 명령줄 클라이언트가 사용하는 기본 호스트 이름입니다.
MYSQL_OPENSSL_UDF_DH_BITS_THRESHOLD − create_dh_parameters() 함수의 최대 키 길이입니다.
MYSQL_OPENSSL_UDF_DSA_BITS_THRESHOLD − create_asymmetric_priv_key() 함수의 최대 DSA 키 길이입니다.
MYSQL_OPENSSL_UDF_RSA_BITS_THRESHOLD − create_asymmetric_priv_key() 함수의 최대 RSA 키 길이입니다.
MYSQL_PS1 − mysql 명령줄 클라이언트에서 사용되는 명령 프롬프트입니다.
MYSQL_PWD − mysqld에 접속할 때 사용되는 기본 비밀번호입니다. 단, 보안상 안전하지 않습니다.
MYSQL_TCP_PORT − 기본 TCP/IP 포트 번호입니다.
MYSQL_TEST_LOGIN_FILE − .mylogin.cnf 로그인 경로 파일의 이름입니다.
MYSQL_UNIX_PORT − 기본 Unix 소켓 파일 이름으로, localhost 연결에 사용됩니다.
MYSQLX_TCP_PORT − X Plugin의 기본 TCP/IP 포트 번호입니다.
MYSQLX_UNIX_PORT − X Plugin의 기본 Unix 소켓 파일 이름으로, localhost 연결에 사용됩니다.
NOTIFY_SOCKET − mysqld가 systemd와 통신할 때 사용하는 소켓입니다.
PATH − 셸이 MySQL 프로그램을 찾는 데 사용하는 경로입니다.
PKG_CONFIG_PATH − mysqlclient.pc pkg-config 파일의 위치입니다.
TMPDIR − 임시 파일이 생성되는 디렉터리입니다.
TZ − 로컬 시간대를 설정하는 데 사용됩니다.
UMASK − 파일 생성 시 적용되는 사용자 파일 생성 모드입니다.
UMASK_DIR − 디렉터리 생성 시 적용되는 사용자 디렉터리 생성 모드입니다.
USER − Windows 환경에서 mysqld에 접속할 때 사용되는 기본 사용자 이름입니다.
환경 변수와 옵션 파일의 우선순위
명령줄 옵션은 옵션 파일과 환경 변수에 지정된 값보다 높은 우선순위를 가지며, 옵션 파일의 값은 환경 변수의 값보다 우선 적용됩니다. 따라서 대부분의 경우 환경 변수보다 옵션 파일을 사용하는 것이 권장되며, 이를 통해 MySQL의 동작 방식을 더욱 안정적으로 조정할 수 있습니다.
MYSQL_PWD 사용 시 주의사항
MYSQL_PWD를 사용해 비밀번호를 지정하는 것은 보안상 안전하지 않은 방식이므로 사용을 피해야 합니다. MYSQL_PWD는 이미 더 이상 권장되지 않으며(deprecated), 향후 버전에서 제거될 수 있습니다.