Skip to content

2012.12.17 08:46

mysql 다중 서버 관리

조회 수 17438 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
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‘);
    ?>

  1. No Image 06Jan
    by ADMINPLAY
    2014/01/06 by ADMINPLAY
    Views 8937 

    MySQL 특정 테이블만 백업하기

  2. No Image 08Nov
    by ADMINPLAY
    2013/11/08 by ADMINPLAY
    Views 8015 

    InnoDB 에서 MyISAM 으로, 혹은 MyISAM 에서 InnoDB 로 DB 타입 변경 방법

  3. No Image 24Sep
    by ADMINPLAY
    2013/09/24 by ADMINPLAY
    Views 9497 

    mysql 5.5.x my.cnf 참고

  4. [우분투] mysql, data 디렉토리 변경

  5. MySQL 테이블명 대소문자 구분안하기

  6. phpMyAdmin 에서 icon 과 text 중 icon 만 보이게 하기

  7. innodb recovery

  8. No Image 17Dec
    by ADMINPLAY
    2012/12/17 by ADMINPLAY
    Views 17438 

    mysql 다중 서버 관리

  9. MySQL 튜닝 값을 탐지해주는 유용한 툴

  10. No Image 16Jan
    by ADMINPLAY
    2012/01/16 by ADMINPLAY
    Views 18294 

    mysql - copying to tmp table

  11. No Image 16Jan
    by ADMINPLAY
    2012/01/16 by ADMINPLAY
    Views 16074 

    [데이터베이스] [DBMS-MYSQL] "SHOW PROCESSLIST"시 state 종류 및 설명

  12. No Image 16Jan
    by ADMINPLAY
    2012/01/16 by ADMINPLAY
    Views 17324 

    MYSQL 4.0 --> 5.1 마이그레이션

  13. No Image 16Jan
    by ADMINPLAY
    2012/01/16 by ADMINPLAY
    Views 18590 

    [MySQL 5.1.4] /bin/rm: cannot remove `libtoolT': No such file or directory

  14. No Image 09Apr
    by ADMINPLAY
    2011/04/09 by ADMINPLAY
    Views 19606 

    MySQL 튜닝 query cache 설정

  15. No Image 09Apr
    by ADMINPLAY
    2011/04/09 by ADMINPLAY
    Views 18564 

    Mysql - Query Cache

  16. No Image 09Apr
    by ADMINPLAY
    2011/04/09 by ADMINPLAY
    Views 17614 

    FULLTEXT 인덱스와 서치

  17. No Image 18Mar
    by ADMINPLAY
    2011/03/18 by ADMINPLAY
    Views 16010 

    MySQL에서 Query Cache 사용하기

  18. No Image 09Mar
    by ADMINPLAY
    2011/03/09 by ADMINPLAY
    Views 17953 

    MySQL의 호스트 블럭킹 & max_connect_errors

  19. No Image 26Nov
    by ADMINPLAY
    2010/11/26 by ADMINPLAY
    Views 19879 

    ../depcomp: line 571: exec: g++: not found

  20. No Image 07Jul
    by ADMINPLAY
    2010/07/07 by ADMINPLAY
    Views 23096 

    libmysqlclient.so.15: cannot open shared object file: No such file or directory

Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234