[L] mysql pager 명령어를 통한 결과값 페이지 단위 확인
💡 요약 정리
- MySQL 결과값이 길 때 pager 명령어로 페이지 단위 확인 가능
pager more -d명령으로 페이저 활성화nopager명령으로 페이저 해제- Space 키로 다음 페이지, q로 종료
MySQL을 사용하다 보면 쿼리 결과가 한 화면을 넘어서 처음 부분을 확인하지 못하는 상황이 발생합니다.
이 럴 때 pager 명령어를 사용하면 페이지 단위로 결과를 확인할 수 있습니다.
1. pager 명령어란?
① 개요
pager 명령어는 MySQL 클라이언트에서 긴 쿼리 결과를 페이지 단위로 나눠서 보여주는 기능입니다.
주요 용도:
- 긴 테이블 목록 조회
- 많은 변수(variables) 확인
- 대량의 레코드 조회
- 스키마 정보 확인
② 장점
페이저 사용 시:
- ✅ 결과를 한 페이지씩 확인 가능
- ✅ 스크롤 없이 처음부터 끝까지 확인
- ✅ 필요한 부분만 빠르게 탐색
- ✅ 터미널 버퍼 초과 방지
2. pager 활성화
① 기본 명령
mysql> pager more -d
실행 결과:
PAGER set to 'more -d'
설명:
pager: 페이저 모드 활성화more -d: Unix/Linux의 more 명령 사용-d: 페이지 전환 도움말 표시
② 다른 페이저 프로그램 사용
less 사용 (더 많은 기능):
mysql> pager less
tail과 조합 (마지막 줄만):
mysql> pager tail -n 20
grep과 조합 (필터링):
mysql> pager grep 'pattern'
3. pager 사용 예시
① 긴 변수 목록 확인
mysql> pager more -d
PAGER set to 'more -d'
mysql> show variables;
출력:
+-----------------------------------------+----------------------------------+
| Variable_name | Value |
+-----------------------------------------+----------------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| automatic_sp_privileges | ON |
| back_log | 50 |
| basedir | /usr/ |
| bdb_cache_size | 8384512 |
| bdb_home | /var/lib/mysql/ |
| bdb_log_buffer_size | 262144 |
| bdb_logdir | |
--More--[Press space to continue, 'q' to quit.]
조작 방법:
- Space 키: 다음 페이지로 이동
- q 키: 페이저 종료 (쿼리 결과 종료)
- Enter 키: 한 줄씩 스크롤
- / 키: 검색 모드 (less 사용 시)
② 테이블 목록 확인
mysql> show tables;
테이블이 많을 경우:
+-------------------+
| Tables_in_mydb |
+-------------------+
| users |
| products |
| orders |
| order_details |
| categories |
| reviews |
| shipping |
| payments |
--More--[Press space to continue, 'q' to quit.]
③ 테이블 구조 확인
mysql> desc large_table;
컬럼이 많은 테이블:
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
| product_id | int(11) | NO | MUL | NULL | |
| quantity | int(11) | NO | | 1 | |
| price | decimal(10,2)| NO | | NULL | |
--More--[Press space to continue, 'q' to quit.]
4. pager 해제
① nopager 명령
mysql> nopager
실행 결과:
PAGER set to stdout
설명:
- 페이저 모드 비활성화
- 결과가 한 번에 출력됨
- 기본 동작으로 복귀
② 언제 해제해야 하나?
해제가 필요한 경우:
- 짧은 결과 조회 시
- 결과를 복사해야 할 때
- 스크립트 실행 시
- 자동화된 작업 수행 시
5. 고급 활용
① less를 사용한 향상된 탐색
mysql> pager less -S
less 옵션:
-S: 긴 줄을 잘라서 표시 (가로 스크롤 가능)-i: 대소문자 구분 없이 검색-N: 줄 번호 표시
less 내부 명령:
j/k: 한 줄씩 위/아래 이동f/b: 한 페이지씩 앞/뒤 이동/pattern: 패턴 검색n/N: 다음/이전 검색 결과G: 파일 끝으로 이동g: 파일 처음으로 이동
② grep으로 필터링
특정 문자열만 보기:
mysql> pager grep 'InnoDB'
mysql> show variables;
출력:
innodb_adaptive_hash_index | ON
innodb_additional_mem_pool_size | 1048576
innodb_autoextend_increment | 8
innodb_buffer_pool_size | 134217728
대소문자 구분 없이:
mysql> pager grep -i 'timeout'