• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 서비스
    • MySQL유지보수
    • MySQL라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.1 한글메뉴얼) [close]
  • 1. MySQL 5.1 Reference Manual
  • 2. Installing and MySQL 업그레이드하기
  • 3. 사용 설명서 (Tutorial)
  • 4. MySQL 프로그램 사용하기
  • 5. 데이터베이스 관리
  • 1. 서버 측면 프로그램 개요
    2. mysqld — MySQL 서버
    3. MySQL 서버 스타트업 프로그램
    4. mysqlmanager — MySQL 인스턴스 매니저
    1. MySQL 인스턴스 매니저 명령어 옵션
    2. MySQL 인스턴스 매니저 구성 파일 (Configuration file)
    3. MySQL 인스턴스 매니저를 사용해서 MySQL 시작하기
    4. MySQL 인스턴스 매니저 사용자 및 패스워드 관리
    5. MySQL 인스턴스 매니저 상태 모니터링
    6. MySQL 인스턴스 매니저에 연결하기
    7. MySQL 인스턴스 매니저 명령어
    5. 설치-관련 프로그램
    6. 일반적인 보안 이슈
    7. MySQL 접근 권한 시스템
    8. MySQL 사용자 계정 관리
    9. 백업 및 복구
    10. MySQL 자국어 (Localization) 설정 및 국제적인 사용
    11. MySQL 서버 로그
    12. 동일 머신에서 여러 대의 MySQL 서버 구동 시키기
    13. MySQL 쿼리 캐시
  • 6. 리플리케이션
  • 7. 최적화 (Optimization)
  • 8. 클라이언트 및 유틸리티 프로그램
  • 9. 언어 구조 (Language Structure)
  • 10. 문자 셋 지원
  • 24. API 및 라이브러리
  • 25. Connectors

5.4.7. MySQL 인스턴스 매니저 명령어

 

MySQL 인스턴스 매니저에 연결이 되면, 여러분은 명령문을 입력할 수가 있다. 아래에 있는 것은 인스턴스 매니저 명령어를 실행하는데 적용하는 원칙이다:

  • 인스턴스 이름이 올바르지 못하면, 인스턴스 이름을 가지고 있는 명령어는 실패한다.
  • 인스턴스가 존재하지 않으면, 인스턴스 이름을 가지고 있는 명령어는 실패한다 (CREATE INSTANCE는 제외).
  • MySQL 5.1.12 버전 이후부터는, 인스턴스용 명령어는 인스턴스가 적당한 (appropriate) 상태일 것을 요구한다. 인스턴스는 온라인 상태에서만 구성 또는 시작을 할 수가 있다. 또한, 온라인 상태의 인스턴스는 시작을 할 수가 없다.
  • 인스턴스 매니저는 내부 (메모리 내) 캐시에 있는 인스턴스 구성 정보를 관리한다. 초기에는, 구성 파일로부터 이 정보가 넘어 오지만, 나중에 몇몇 명령어로 인해 인스턴스가 변경된다. 구성 파일이 존재하지 않거나 또는 인스턴스 매니저가 접근할 수 없는 경우에는 구성 파일을 수정하는 명령어는 실패한다.

MySQL 5.1.12 버전 이후부터, 구성-변경 명령어는 메모리 캐시 뿐만 아니라 구성 파일에 기록되어 있는 서버 인스턴스 섹션까지 수정을 할 수 있다. 이렇게 하기 위해서는, 인스턴스는 오프라인 상태가 되어야 하고 구성 파일은 접속 가능해야 한다. 구성 파일을 업데이트할 수 없다면, 명령어는 실패하고 캐시는 변경되지 않게 된다.

  • 윈도우 시스템의 경우, 표준 파일은 인스턴스 매니저가 설치되어 있는 디렉토리의 my.ini이며, 유닉스 시스템에서의 표준 구성 파일은 /etc/my.cnf가 된다. 이와는 다른 굿 파일을 지정하고자 한다면, 인스턴스 메니저를 --defaults-file 옵션과 함께 시작한다.
  • [mysqld] 인스턴스 섹션이 구성 파일에 존재한다고 하더라도, 반드시 인스턴스 매니저-관련 옵션을 가지고 있을 필요는 없다. 따라서, mysqld라는 이름의 인스턴스용 구성 파일을 변경할 경우에 이러한 옵션들을 추가할 필요는 없게 된다.

아래의 명령어들은 인스턴스 매니저가 받아 들일 수 있는 것들이다.

  • CREATE INSTANCE instance_name [option_name[=option_value], ...]

이 명령어는 구성 파일에 [instance_name] 섹션을 생성하는 것으로 새로운 인스턴스를 구성한다. instance_name이 올바르지 못한 인스턴스 이름이거나 또는 그 인스턴스가 이미 존재하는 것이라면, 이 명령어는 실패한다.

 

아무런 옵션을 주지 않으면, 새로 생성된 섹션 인스턴스에는 아무것도 들어 있지 않게 된다.

 

이와는 달리, 옵션을 주게 되면 그것이 섹션에 추가된다. 옵션은 반드시 여러분이 옵션 파일에 기록할 때와 같은 포맷으로 주어야 한다. 여러 개의 옵션을 지정할 경우에는, 각각의 옵션을 콤마로 구분해 준다.

 

예를 들면, [mysqld98]라는 이름의 인스턴스 섹션을 생성하기 위해서는, 구성 파일을 직접 수정할 때와 비슷하게 다음과 같이 작성을 하도록 한다:

 

[mysqld98]

basedir=/var/mysql98

 

CREATE INSTANCE를 통해서 동일한 효과를 얻기 위해서는, 다음의 명령어를 인스턴스 매니저에 입력한다:

 

mysql> CREATE INSTANCE mysqld98 basedir="/var/mysql98";

Query OK, 0 rows affected (0,00 sec)

 

CREATE INSTANCE는 인스턴스를 생성하기는 하지만 구동 시키지는 않는다.

 

만일 인스턴스 이름이 mysqld라면, 옵션 리스트에는 인스턴스 매니저를 지정하는 옵션을 옵션 리스트에 포함시킬 수가 없다.

 

이 옵션은 MySQL 5.1.12에서 추가되었다.

  • DROP INSTANCE instance_name

이 명령어는 구성 파일에서 instance_name용 구성 부분을 삭제한다.

 

mysql> DROP INSTANCE mysqld98;

Query OK, 0 rows affected (0,00 sec)

 

만일 instance_name가 올바르지 못한 인스턴스 이름이거나, 인스턴스가 존재하기 않거나, 또는 오프라인 상태가 아니라면 이 명령어는 실패하게 된다.

 

이 명령어는 MySQL 5.1.12에서 추가되었다.

  • START INSTANCE instance_name

이 명령어는 오프라인 상태의 인스턴스를 시작하려고 시도한다. 이 명령어는 비 동기식 (asynchronous)이다; 이 명령어는 인스턴스가 시작하는 것을 기다리지 않는다.

 

mysql> START INSTANCE mysqld4;

Query OK, 0 rows affected (0,00 sec)

  • STOP INSTANCE instance_name

이 명령어는 인스턴스를 종료시키려고 시도한다. 동기식 명령어; 인스턴스가 멈추기를 기다린다.

 

mysql> STOP INSTANCE mysqld4;

Query OK, 0 rows affected (0,00 sec)

  • SHOW INSTANCES

읽은 모든 인스턴스의 이름과 상태를 보여준다.

 

mysql> SHOW INSTANCES;

+---------------+---------+

| instance_name | status  |

+---------------+---------+

| mysqld3       | offline |

| mysqld4       | online  |

| mysqld2       | offline |

+---------------+---------+

  • SHOW INSTANCE STATUS instance_name

인스턴스의 상태 및 버전 정보를 보여준다.

 

mysql> SHOW INSTANCE STATUS mysqld3;

+---------------+--------+---------+

| instance_name | status | version |

+---------------+--------+---------+

| mysqld3       | online | unknown |

+---------------+--------+---------+

  • SHOW INSTANCE OPTIONS instance_name

인스턴스가 사용한 옵션을 보여준다.

 

mysql> SHOW INSTANCE OPTIONS mysqld3;

+---------------+---------------------------------------------------+

| option_name   | value                                             |

+---------------+---------------------------------------------------+

| instance_name | mysqld3                                           |

| mysqld-path   | /home/cps/mysql/trees/mysql-4.1/sql/mysqld        |

| port          | 3309                                              |

| socket        | /tmp/mysql.sock3                                  |

| pid-file      | hostname.pid3                                     |

| datadir       | /home/cps/mysql_data/data_dir1/                   |

| language      | /home/cps/mysql/trees/mysql-4.1/sql/share/english |

+---------------+---------------------------------------------------+

  • SHOW instance_name LOG FILES

이 명령어는 인스턴스가 사용한 모든 로그 파일 리스트를 보여준다. 결과 셋에는 로그 파일 경로와 로그 파일 크기가 들어 있다. 만일 구성 파일의 인스턴스 섹션에 로그 파일 경로가 지정되어 있지 않다면 (예를 들면, log=/var/mysql.log), 인스턴스 매니저는 로그 파일의 경로를 추정하게 된다. 인스턴스 매니저가 로그 파일의 위치를 찾지 못하게 되는 경우에는, 로그 옵션을 사용해서 구성 파일내의 적당한 인스턴스 섹션에 로그 파일의 위치를 명확하게 지정해야 한다.

 

mysql> SHOW mysqld LOG FILES;

+-------------+------------------------------------+----------+

| Logfile     | Path                               | Filesize |

+-------------+------------------------------------+----------+

| ERROR LOG   | /home/cps/var/mysql/owlet.err      | 9186     |

| GENERAL LOG | /home/cps/var/mysql/owlet.log      | 471503   |

| SLOW LOG    | /home/cps/var/mysql/owlet-slow.log | 4463     |

+-------------+------------------------------------+----------+

 

SHOW ... LOG FILES는 로그 파일에 관련된 정보만 출력한다. 만일 서버 인스턴스가 로그 테이블을 사용한다면, 이 테이블에 대해서는 아무런 정보도 출력하지 않는다.

  • SHOW instance_name LOG {ERROR | SLOW | GENERAL} size[,offset_from_end]

이 명령어는 지정한 로그 파일의 일부분을 추출한다. 대부분의 사용자는 최신의 로그 메시지에 관심을 가지기 때문에, size 파라미터는 로그 파일의 끝부분부터 추출해야 할 바이트의 크기를 정의한다. 로그 파일의 중간 부분부터 데이터를 추출하고자 한다면, offset_from_end 파라미터를 사용하면 된다. 아래의 예문은 21 바이트 크기의 데이터를 추출하는데, 로그 파일의 끝부분에서 23바이트 이전에서 시작해서 2바이트 전까지를 추출한다:

 

mysql> SHOW mysqld LOG GENERAL 21, 2;

+---------------------+

| Log                 |

+---------------------+

| using password: YES |

+---------------------+

  • SET instance_name.option_name[=option_value]

이 명령어는 인스턴스 옵션을 변경하거나 추가하기 위해 지정한 인스턴스의 구성을 편집한다. 섹션에 존재하지 않는 옵션만을 추가할 수 있고, 옵션을 새롭게 설정하면 이미 존재하는 옵션이 새로운 것으로 대체가 된다.

 

mysql> SET mysqld2.port=3322;

Query OK, 0 rows affected (0.00 sec)

 

MySQL 5.1.12 버전 이후부터는, 여러 개의 옵션을 콤마로 구분해서 지정할 수 있으며, 또한 SET 명령문은 오프라인 인스턴스용으로만 사용할 수 있게 되었다. 각각의 옵션은 인스턴스 이름을 지정해야 한다:

 

mysql> SET mysqld2.port=3322, mysqld3.nonguarded;

Query OK, 0 rows affected (0.00 sec)

 

MySQL 5.1.12 이전 버전에서는 오직 하나의 옵션만을 지정할 수가 있었다. 또한, MySQL 서버를 재 시작하기 전에는 구성 파일에 대한 변경이 적용되지 않았으며, FLUSH INSTANCES 명령어를 실행하기 전에는 인스턴스 설정에 대한 인스턴스 매니저의 로컬 캐시에 변경 사항이 저장되지도 않았다.

  • UNSET instance_name.option_name

이 명령어는 인스턴스의 구성 섹션에서 옵션을 제거한다.

 

mysql> UNSET mysqld2.port;

Query OK, 0 rows affected (0.00 sec)

 

MySQL 5.1.12 버전 이후부터는, 여러 개의 옵션을 콤마로 구분해서 지정할 수 있으며, UNSET 명령문은 오프라인 인스터스용으로만 사용된다. 각각의 옵션은 인스턴스 이름을 가리켜야 한다:

 

mysql> UNSET mysqld2.port, mysqld4.nonguarded;

Query OK, 0 rows affected (0.00 sec)

 

MySQL 5.1.12 이전 버전에서는 오직 하나의 옵션만을 지정할 수가 있었다. 또한, MySQL 서버를 재 시작하기 전에는 구성 파일에 대한 변경이 적용되지 않았으며, FLUSH INSTANCES 명령어를 실행하기 전에는 인스턴스 설정에 대한 인스턴스 매니저의 로컬 캐시에 변경 사항이 저장되지도 않았다.

  • FLUSH INSTANCES

MySQL 5.1.12 버전부터는, 모든 인스턴스가 오프라인이 아닐 경우에는 FLUSH INSTANCES를 사용할 수가 없다. 이 명령어는 인스턴스 매니저로 하여금 구성 파일을 다시 읽게끔 만들고, 자신의 메모리 내부 구성 캐시를 업데이트하게 하며, 모든 보호 받는 인스턴스를 시작하게끔 한다.

 

MySQL 5.1.12 이전 버전에서는, 이 명령어는 인스턴스 매니저로 하여금 구성 파일을 다시 읽고 내부 구조를 리플레시 (refresh) 하도록 만들었다. 이 명령어는 구성 파일을 편집한 후에 실행되어야 한다. 인스턴스를 재 시작하지는 못한다.

 

mysql> FLUSH INSTANCES;

Query OK, 0 rows affected (0.04 sec)

 

FLUSH INSTANCES는 더 이상 사용이 되지 않으며 MySQL 5.2 버전에서 삭제될 예정이다.

서울시 강남구 영동대로 602 6층  TEL: 02-6061-0006
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved