• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 1. MySQL Server
    2. MySQL Server 로그
    3. 하나의 시스템에서 여러 MySQL 인스턴스 실행
    1. 여러 데이터 디렉토리 설정
    2. Windows에서 여러 MySQL 인스턴스 실행
    3. Unix에서 여러 MySQL 인스턴스 실행
    4. 다중 서버 환경에서 클라이언트 프로그램 사용
    4. DTrace를 사용하여 mysqld 추적
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

5.3.3 Unix에서 여러 MySQL 인스턴스 실행

Unix상에서 복수의 MySQL 인스턴스를 실행하기위한 하나의 방법은 기본 TCP / IP 포트 및 Unix 소켓 파일이 다른 별도의 서버를 컴파일하여 각 서버가 별도의 네트워크 인터페이스를 청취하도록 하는 것입니다. 설치마다 다른 기본 디렉토리에 컴파일하여 컴파일 된 데이터 디렉토리, 로그 파일 및 PID 파일 위치가 서버마다 자동으로 분리됩니다.

기본 TCP / IP 포트 번호 (3306) 및 Unix 소켓 파일 ( /tmp/mysql.sock )에 대해 기존 5.5 서버가 구성되어 있다고 가정합니다. 다른 작업 파라미터를 가지는 새로운 5.6.23 서버를 구성하려면 다음과 같은 CMake 명령을 사용합니다.

shell> cmake . -DMYSQL_TCP_PORT=port_number \
             -DMYSQL_UNIX_ADDR=file_name \
             -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.29

여기서 port_number 와 file_name 은 기본 TCP / IP 포트 번호 및 Unix 소켓 파일 경로 이름과 달라야이 있고 CMAKE_INSTALL_PREFIX 값은 기존의 MySQL 설치가 존재하는 위치와 다른 설치 디렉토리를 지정합니다 .

MySQL Server가 소정의 포트 번호를 대기하고있는 경우 다음 명령을 사용하여 기본 디렉토리 및 Unix 소켓 파일 이름과 같은 몇 가지 중요한 구성 가능한 변수에 대해 MySQL Server가 사용중인 작업 매개 변수 를 찾을 수 있습니다.

 shell> mysqladmin --host= host_name --port= port_number variables

이 명령에 의해 표시되는 정보를 사용하면 추가 서버를 구성 할 때 사용하지 않는 옵션 값을 알 수 있습니다.

호스트 이름으로 localhost 를 지정했을 경우, mysqladmin은 TCP / IP가 아닌 Unix 소켓 파일 연결을 기본적으로 사용합니다. 연결 프로토콜을 명시 적으로 지정하려면 --protocol={TCP|SOCKET|PIPE|MEMORY} 옵션을 사용합니다.

다른 Unix 소켓 파일 및 TCP / IP 포트 번호를 사용하여 시작하는 이유만으로 새로운 MySQL Server를 컴파일 할 필요는 없습니다. 동일한 서버 바이너리를 사용하여 런타임에 다른 매개 변수 값을 사용하여 각각의 바이너리의 실행을 시작할 수 있습니다. 이렇게 하나의 방법은 명령 행 옵션을 사용하는 방법입니다.

 shell> mysqld_safe --socket= file_name --port= port_number

두 번째 서버를 시작하려면 다른 --socket 과 --port 옵션 값을 지정하고 mysqld_safe에 --datadir= path 옵션을 전달하여 서버가 다른 데이터 디렉토리를 사용하도록합니다.

또는 각 서버의 옵션을 다른 옵션 파일에 배치하고 적절한 옵션 파일의 경로를 지정하는 --defaults-file 옵션을 사용하여 각 서버를 시작합니다. 예를 들어, 2 개의 서버 인스턴스의 옵션 파일의 이름이 /usr/local/mysql/my.cnf 및 /usr/local/mysql/my.cnf2 의 경우 다음과 같은 명령으로 서버를 시작합니다.

shell> mysqld_safe --defaults-file=/usr/local/mysql/my.cnf
shell> mysqld_safe --defaults-file=/usr/local/mysql/my.cnf2

동일한 효과를 얻을 수있는 다른 방법은 환경 변수를 사용하여 Unix 소켓 파일 이름과 TCP / IP 포트 번호를 설정하는 방법입니다.

shell> MYSQL_UNIX_PORT=/tmp/mysqld-new.sock
shell> MYSQL_TCP_PORT=3307
shell> export MYSQL_UNIX_PORT MYSQL_TCP_PORT
shell> mysql_install_db --user=mysql
shell> mysqld_safe --datadir=/path/to/datadir &

이것은 테스트 용으로 사용하기위한 두 번째 서버를 시작하는 쉬운 방법입니다. 이 방법의 장점은 동일한 쉘에서 시작하는 모든 클라이언트 프로그램에 환경 변수 설정이 적용된다는 것입니다. 따라서 이러한 클라이언트에 대한 연결은 두 번째 서버에 자동으로 전송됩니다.

MySQL 프로그램에 영향을 미치는 데 사용할 수있는 다른 환경 변수의 목록은 섹션 2.12 "환경 변수" 에 기재되어 있습니다.

Unix의 경우 여러 서버를 시작하는 다른 방법으로 mysqld_multi 스크립트가 있습니다. 섹션 4.3.4 "mysqld_multi - 여러 MySQL 서버 관리" 를 참조하십시오.

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