Skip to content

2012.12.17 08:46

mysql 다중 서버 관리

조회 수 17269 추천 수 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. MySQL 특정 테이블만 백업하기

    Date2014.01.06 ByADMINPLAY Views8762
    Read More
  2. InnoDB 에서 MyISAM 으로, 혹은 MyISAM 에서 InnoDB 로 DB 타입 변경 방법

    Date2013.11.08 ByADMINPLAY Views7836
    Read More
  3. mysql 5.5.x my.cnf 참고

    Date2013.09.24 ByADMINPLAY Views9330
    Read More
  4. [우분투] mysql, data 디렉토리 변경

    Date2013.09.24 ByADMINPLAY Views15191
    Read More
  5. MySQL 테이블명 대소문자 구분안하기

    Date2013.01.21 Byl2zeo Views10914
    Read More
  6. phpMyAdmin 에서 icon 과 text 중 icon 만 보이게 하기

    Date2013.01.21 Byl2zeo Views11852
    Read More
  7. innodb recovery

    Date2013.01.21 Byl2zeo Views11127
    Read More
  8. mysql 다중 서버 관리

    Date2012.12.17 ByADMINPLAY Views17269
    Read More
  9. MySQL 튜닝 값을 탐지해주는 유용한 툴

    Date2012.02.23 ByADMINPLAY Views22352
    Read More
  10. mysql - copying to tmp table

    Date2012.01.16 ByADMINPLAY Views18089
    Read More
  11. [데이터베이스] [DBMS-MYSQL] "SHOW PROCESSLIST"시 state 종류 및 설명

    Date2012.01.16 ByADMINPLAY Views15925
    Read More
  12. MYSQL 4.0 --> 5.1 마이그레이션

    Date2012.01.16 ByADMINPLAY Views17155
    Read More
  13. [MySQL 5.1.4] /bin/rm: cannot remove `libtoolT': No such file or directory

    Date2012.01.16 ByADMINPLAY Views18413
    Read More
  14. MySQL 튜닝 query cache 설정

    Date2011.04.09 ByADMINPLAY Views19335
    Read More
  15. Mysql - Query Cache

    Date2011.04.09 ByADMINPLAY Views18381
    Read More
  16. FULLTEXT 인덱스와 서치

    Date2011.04.09 ByADMINPLAY Views17435
    Read More
  17. MySQL에서 Query Cache 사용하기

    Date2011.03.18 ByADMINPLAY Views15857
    Read More
  18. MySQL의 호스트 블럭킹 & max_connect_errors

    Date2011.03.09 ByADMINPLAY Views17769
    Read More
  19. ../depcomp: line 571: exec: g++: not found

    Date2010.11.26 ByADMINPLAY Views19497
    Read More
  20. libmysqlclient.so.15: cannot open shared object file: No such file or directory

    Date2010.07.07 ByADMINPLAY Views22840
    Read More
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234