Skip to content

jjunes.com

조회 수 5044 추천 수 0 댓글 0

mysql 다중 서버 관리



            운영체제 : Linux, Unix, Windows 등
            홈페이지 : www.mysql.com
            라이센스 : 상업용, GPL
               소속 : 리눅스포털(주)수퍼유저코리아
               제작자 : 이재석


1. mysql 다중 서버란 ?

    mysqld를 소켓과 포트 데이터베이스를 달리하여
    여러개의 MySQL 서버를 구동하는 것을 말한다.

    myqld_safe를 이용하는 방법과 mysql_multi를 이용하는
    두가지 방법이 있다.

    하지만 mysqld_safe를 이용하는 것은 번거로은 면이 많아
    실행시 주의를 요한다.


2. mysql 다중서버운영시 장단점

    - 장애시 전체 디비서버에 영향을 미치지 않는다.
    - 각 디비서버별 root사용자를 지정할 수 있다.
    - 서로 상이한 설정의 디비서버를 같은 장비에서 운영가능하다.
    - 하나의 mysqld로 서비스가 포화 상태인 경우


3. myqld_safe를 이용하는방법

    추가로 컴파일할 필요없이 기존에 사용하는 mysqlDB를 그대로
    이용가능하다.

        [첫번째 mysqld의 설정파일]
        [client]
        port        = 3306
        socket = "/tmp/mysql.sock"

        [mysqld]
        port        = 3306
        socket = "/tmp/mysql.sock"

        [두번째 mysqld의 설정파일]
        [client]
        port        = 3307
        socket = "/tmp/mysql2.sock"

        [mysqld]
        port        = 3307
        socket = "/tmp/mysql2.sock"


        [첫번째 mysqld 실행]
        # mysqld_safe --defaults-file=/etc/my.cnf &

        [두번째 mysqld 실행]
        # mysqld_safe \
            --defaults-file=/etc/my1.cnf \
            --pid-file=/usr/local/mysql/data/hostname.pid1 \
            --socket=/tmp/mysql.sock1 \
            --skip-network &

        [첫번째 mysqld 접속 방법]
        mysql -u [username] -p [databasename]   
       
        [두번째 mysqld 접속 방법]   
        mysql -u [username] -p -S [/path/to] [databasename]

4. mysql_multi를 이용하는방법
    [설정 방법]
    [client]
    (생략)...

    [mysql]
    (생략)...

    [mysqld]
    default-character-set = euc_kr
    skip-name-resolve
    skip-network    ## only localhost access
    datadir      = /usr/local/mysql/data
    language    = /usr/local/mysql/share/mysql/english
    user        = mysql
    (생략)...

    [mysqld_multi]
    mysqld        = /usr/local/mysql/bin/safe_mysqld
    mysqladmin    = /usr/local/mysql/bin/mysqladmin
    #user        = root
   
    [mysqld1]
    socket        = /tmp/mysql.sock1
    port        = 3307
    datadir        = /usr/local/mysql/data1
    pid-file        = /usr/local/mysql/data1/mysqld1.pid
    log        = /usr/local/mysql/data1/mysqld1.log

    [mysqld2]
    socket        = /tmp/mysql.sock2
    port        = 3308
    datadir        = /usr/local/mysql/data2
    pid-file        = /usr/local/mysql/data2/mysqld2.pid
    log        = /usr/local/mysql/data2/mysqld2.log

    [myisamchk]
    (생략)...

    [mysqladmin]
    (생략)...

    [mysqldump]
    (생략)...

    [실행방법]
    mysql_multi 사용법
    mysql_multi [OPTIONS] {start|stop|report} [GRN,GRN...]

    전체 MySQL 서버실행시
    mysqld_multi start

    특정 MySQL 서버 실행시
    mysqld_multi start 1

    [다중서버 관리자 추가 하기]
    #mysql -u root -S /tmp/mysql.sock -proot_password -e \
          "GRANT SHUTDOWN ON *.* TO multi_admin@localhost \
          IDENTIFIED BY 'multipass'"

    위와 같이 멀티서버 어드민을 지정하여 사용가능하나 root를 사용하면 됨으로
    필수 사항은 아니다.


    [첫번째 mysqld 접속 방법]
    mysql -u [username] -p -S [/path/to] [databasename]   

    [두번째 mysqld 접속 방법]   
    mysql -u [username] -p -S [/path/to] [databasename]


5. php에서 세팅방법

    아파치 설정파일에서 설정해주거나 php에서 설정하여 사용가능하다.

    [아파치 설정파일에 설정 할 경우]
    vi httpd.conf
    ...
    <VirtualHost xxxx>
        ...
      php_value mysql.default_socket "/tmp/mysql.sock1"
    </VirtualHost>

    <VirtualHost xxxx>
        ...
        php_value mysql.default_socket "/tmp/mysql.sock2"
    </VirtualHost>


    [php에서 사용하기]
    <?php
          ini_set('mysql.default_socket',‘/tmp/mysql.sock1‘);
    ?>

 

 

출처 : http://www.superuser.co.kr


List of Articles
번호 제목 글쓴이 날짜 조회 수
29 트래픽 제한(접속당) 모듈 (mod_bandwidth) 설치 및 운영 file 빛의바다 2011.05.27 4292
28 트래픽 제한 모듈 (mod_throttle) 설치 및 운영 file 빛의바다 2011.05.27 4380
27 제로보드4 설치시 경고창 없애기 빛의바다 2011.03.03 3604
26 아파치 웹서버 장애시 대처법 file 빛의바다 2011.05.27 4085
25 아파치 웹서버 보안 관리 file 빛의바다 2011.05.27 4370
24 아파치 설정팁들 file 빛의바다 2011.05.27 4291
23 아파치 및 PHP 버전 표시하지 않기 빛의바다 2011.02.28 3699
22 [MySQL] 데이터를 자기의 홈에 쌓이게 하는 방법 빛의바다 2011.05.27 5277
21 [MySQL] SQL서버 응응프로그램의 속도향상 빛의바다 2011.05.27 4734
20 [MySQL] Query Cache 빛의바다 2011.05.27 4464
» [MySQL] mysql 다중 서버 관리 빛의바다 2011.05.27 5044
18 [MySQL] High Performance MySQL Chapter 6: Server Performance Tuning 정리 빛의바다 2011.05.27 4513
17 squid로 프록시 서버 구축 file 빛의바다 2011.03.03 4668
16 Redhat9에 yum 설치하기 빛의바다 2011.05.27 4602
15 RedHat 9 설치후 기본 셋팅 file 빛의바다 2011.05.27 4172
14 Raid 구성의 요약 빛의바다 2011.05.27 4380
13 Quota를 이용해 용량 제한하기 빛의바다 2011.02.28 3789
12 Ping 명령어에 응답하지 않게 하기 빛의바다 2011.03.03 3774
11 PHP로 첨부 할 수 있는 용량늘리기 빛의바다 2011.03.01 3879
10 PHP 가속기 Zend Optimizer, Turck MMCache for PHP, eAccelerator 빛의바다 2011.05.27 4421
Board Pagination Prev 1 2 Next
/ 2

JJUNES.COM

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소