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
번호 제목 글쓴이 날짜 조회 수
9 Name server 운영하기 file 빛의바다 2011.05.27 4190
8 Redhat9에 yum 설치하기 빛의바다 2011.05.27 4602
7 Raid 구성의 요약 빛의바다 2011.05.27 4380
6 PHP 가속기 Zend Optimizer, Turck MMCache for PHP, eAccelerator 빛의바다 2011.05.27 4421
5 [MySQL] SQL서버 응응프로그램의 속도향상 빛의바다 2011.05.27 4734
4 [MySQL] Query Cache 빛의바다 2011.05.27 4464
3 [MySQL] High Performance MySQL Chapter 6: Server Performance Tuning 정리 빛의바다 2011.05.27 4513
» [MySQL] mysql 다중 서버 관리 빛의바다 2011.05.27 5044
1 [MySQL] 데이터를 자기의 홈에 쌓이게 하는 방법 빛의바다 2011.05.27 5277
Board Pagination Prev 1 2 Next
/ 2

JJUNES.COM

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소