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

MySQL 데이터베이스·테이블·컬럼 정보 한눈에 보기: mysqlshow 활용법

mysqlshow 클라이언트는 MySQL 서버에 어떤 데이터베이스가 존재하는지, 각 데이터베이스에는 어떤 테이블이 있는지, 그리고 특정 테이블의 컬럼(column)이나 인덱스 정보가 무엇인지 손쉽게 확인할 수 있도록 도와주는 명령줄 도구입니다. 내부적으로는 여러 SQL SHOW 문을 대신 실행해 주는 역할을 하므로, 별도의 SQL 문을 직접 작성하지 않아도 원하는 구조 정보를 빠르게 조회할 수 있습니다.

mysqlshow 실행 방법

mysqlshow 유틸리티는 아래와 같은 형식으로 호출합니다.

shell> mysqlshow [options] [db_name [tbl_name [col_name]]]

인자를 어떻게 지정하느냐에 따라 출력 결과가 달라집니다.

  • 데이터베이스를 지정하지 않으면, 서버에 존재하는 모든 데이터베이스 이름 목록이 표시됩니다.

  • 데이터베이스만 지정하고 테이블을 지정하지 않으면, 해당 데이터베이스의 일치하는 모든 테이블 목록이 표시됩니다.

  • 테이블까지 지정하고 컬럼을 지정하지 않으면, 그 테이블의 일치하는 모든 컬럼과 컬럼 타입이 함께 표시됩니다.

  • 출력 결과에는 현재 사용자가 일정 권한(privileges)을 가진 데이터베이스, 테이블, 컬럼만 표시됩니다. 즉, 접근 권한이 없는 객체는 목록에서 제외됩니다.

주요 옵션

mysqlshow는 다양한 옵션을 지원하며, 명령줄에서 직접 지정하거나 옵션 파일(option file)의 [mysqlshow] 그룹 또는 [client] 그룹에 설정해 사용할 수 있습니다.

--bind-address=ip_address

컴퓨터에 네트워크 인터페이스가 여러 개 있는 경우, 이 옵션으로 MySQL 서버에 접속할 때 사용할 인터페이스를 선택할 수 있습니다.

--character-sets-dir=dir_name

문자셋(character set)이 설치되어 있는 디렉터리 경로를 지정합니다.

--compress, -C

클라이언트와 서버 간에 주고받는 모든 정보를 가능한 경우 압축하여 전송합니다.

--count

각 테이블의 행(row) 수를 함께 표시합니다. MyISAM 이외의 스토리지 엔진을 사용하는 테이블에서는 행 수 계산이 느려질 수 있습니다.

--port=port_num, -P port_num

TCP/IP 연결에 사용할 포트 번호를 지정합니다.

--print-defaults

프로그램 이름과 옵션 파일로부터 읽어 들인 모든 옵션 값을 출력합니다.

--user=user_name, -u user_name

서버에 접속할 때 사용할 MySQL 계정의 사용자 이름을 지정합니다.

--verbose, -v

상세(verbose) 모드입니다. 프로그램이 수행하는 작업에 대한 더 많은 정보를 출력하며, 이 옵션을 여러 번 지정하면 출력되는 정보의 양이 단계적으로 늘어납니다.

--version, -V

프로그램의 버전 정보를 표시한 뒤 종료합니다.