MySQL 데이터베이스는 MySQL 서버를 효율적으로 운영하고 관리할 수 있도록 다양한 관리용 프로그램을 제공합니다. 각 프로그램의 역할과 특징을 하나씩 자세히 살펴보겠습니다.
1. mysqld
mysqld는 'MySQL 서버 데몬'이라고도 불리며, MySQL 설치 환경에서 가장 핵심적인 역할을 담당하는 메인 프로그램입니다. MySQL 서버를 시작하려면 반드시 이 프로그램을 사용해야 하며, 서버 구동 시점에 다양한 옵션을 지정해 동작 방식을 세부적으로 설정할 수 있습니다.
2. mysqladmin
mysqladmin은 관리 작업을 수행하기 위한 클라이언트 프로그램입니다. 서버의 설정 정보와 현재 상태 확인, 데이터베이스 생성 및 삭제 등 폭넓은 관리 기능을 제공합니다.
예를 들어, --ping 옵션을 사용하면 MySQL 서버가 정상적으로 작동 중인지 확인할 수 있습니다.
C:\mysql\bin>mysqladmin -u root ping mysqld is alive
새로운 데이터베이스를 생성할 때는 다음 명령어를 사용하면 됩니다.
C:\mysql\bin>mysqladmin -u root create Tutorials
이 외에도 mysqladmin은 여러 옵션과 조합하여 다양한 관리 작업을 수행할 수 있습니다.
3. mysql
mysql은 최종 사용자가 데이터 객체를 관리할 수 있도록 제공되는 대표적인 명령줄 인터페이스(CLI)입니다. SQL 문을 직접 입력해 데이터베이스와 상호작용할 수 있는 기본적인 접속 도구입니다.
mysqlcheck
mysqlcheck는 테이블 검사, 복구, 최적화, 분석 등 테이블 유지 보수 작업을 수행하는 명령줄 도구입니다. mysqld 서버가 실행 중인 상태에서도 사용할 수 있어, 서버를 중단하지 않고도 테이블 관리 작업을 진행할 수 있다는 큰 장점이 있습니다.
mysqlshow
mysqlshow는 테이블과 컬럼 정보를 빠르게 조회할 수 있는 명령줄 도구입니다. 어떤 데이터베이스가 존재하는지, 각 데이터베이스에 어떤 테이블이 있는지, 그리고 테이블의 컬럼이나 인덱스 정보를 손쉽게 확인할 수 있습니다.
mysqldump
mysqldump는 관리자나 사용자가 서버의 데이터를 파일로 내보낼 때 사용하는 명령줄 도구입니다. 논리적 백업(logical backup)을 수행하며, 원본 데이터베이스의 객체 정의와 테이블 데이터를 그대로 재현할 수 있는 SQL 문 집합을 생성합니다. 출력 형식은 CSV, 구분자로 구분된 텍스트, XML 등으로 지정할 수 있어 백업 및 마이그레이션 작업에 널리 활용됩니다.
mysqlimport
mysqlimport는 데이터 파일을 테이블로 불러올 때 사용하는 명령줄 도구입니다. 관리자나 사용자가 CSV 등의 파일에 저장된 대량의 데이터를 손쉽고 빠르게 테이블에 적재할 수 있도록 지원합니다.