mysqladmin은 MySQL 서버에서 다양한 관리 작업을 수행할 수 있도록 도와주는 클라이언트 프로그램입니다. 이 도구를 활용하면 서버의 설정과 현재 상태를 확인하거나, 데이터베이스를 생성·삭제하는 등의 작업을 손쉽게 처리할 수 있습니다.
mysqladmin 기본 사용법
mysqladmin은 아래와 같은 형식의 명령어로 실행할 수 있습니다.
shell> mysqladmin [options] command [command-arg] [command [command-arg]] ...
여러 개의 명령어를 한 번에 연속해서 지정할 수도 있으며, 일부 명령어는 명령 이름 뒤에 인수(argument)를 함께 입력해야 합니다. 아래에서 mysqladmin이 지원하는 주요 명령어들을 하나씩 살펴보겠습니다.
create db_name
db_name이라는 이름의 새로운 데이터베이스를 생성합니다.
drop db_name
db_name 데이터베이스와 해당 데이터베이스에 포함된 모든 테이블을 삭제합니다. 삭제된 데이터는 복구할 수 없으므로 주의해서 사용해야 합니다.
extended-status
서버의 상태 변수(status variables)와 각각의 값을 화면에 출력합니다. 서버 성능 분석이나 모니터링에 유용하게 활용됩니다.
flush-hosts
호스트 캐시(host cache)에 저장된 모든 정보를 비웁니다(flush).
flush-privileges
권한(grant) 테이블을 다시 로드합니다. reload 명령어와 동일한 동작을 수행합니다.
kill id,id,...
지정한 서버 스레드를 강제로 종료합니다. 여러 개의 스레드 ID를 지정할 경우, 목록 사이에는 공백 없이 쉼표로만 구분해야 합니다.
password new_password
새로운 비밀번호를 설정합니다. mysqladmin으로 서버에 접속 중인 계정의 비밀번호가 new_password로 변경됩니다.
ping
서버가 정상적으로 동작 중인지 확인합니다. 서버가 실행 중이면 mysqladmin의 반환 상태는 0, 실행 중이 아니라면 1입니다. 서버 헬스 체크(health check) 스크립트 작성 시 자주 사용됩니다.
processlist
현재 활성화되어 있는 서버 스레드 목록을 보여줍니다. SQL 문인 SHOW PROCESSLIST의 결과와 유사한 출력을 제공합니다.
reload
권한(grant) 테이블을 다시 로드하여 변경된 사용자 권한 설정을 즉시 반영합니다.
refresh
모든 테이블을 플러시(flush)하고, 로그 파일을 닫은 뒤 다시 열어 로그 관리를 초기화합니다.
shutdown
MySQL 서버를 정상적으로 종료합니다.
version
서버의 버전 정보를 출력합니다. 설치된 MySQL 버전을 빠르게 확인할 때 유용합니다.
마무리
mysqladmin은 별도의 SQL 문을 작성하지 않고도 MySQL 서버를 관리할 수 있는 강력한 커맨드라인 도구입니다. 데이터베이스 생성·삭제부터 서버 상태 점검, 스레드 관리, 비밀번호 변경까지 다양한 작업을 지원하므로, MySQL 관리자라면 반드시 숙지해 두는 것이 좋습니다.