>  기사  >  백엔드 개발  >  mysql 마스터-슬레이브 구성 예시에 대한 자세한 설명

mysql 마스터-슬레이브 구성 예시에 대한 자세한 설명

小云云
小云云원래의
2018-03-21 09:11:551468검색

mysql 마스터-슬레이브 구성을 수행해야 하는 이유는 무엇입니까? 이 기사에서는 모든 사람에게 도움이 되기를 바라며 주로 mysql 마스터-슬레이브 구성 예제에 대한 자세한 설명을 공유합니다.

1: 서버 로드 밸런싱 실현

데이터 업데이트 작업만 메인 서버에서 구현되고, 데이터 쿼리는 고려되지 않습니다. 쿼리 요청은 여러 슬레이브 서버로 전달될 수 있습니다. 데이터 업데이트 및 쿼리를 다른 서버에 배치하면 데이터 보안이 향상되고 애플리케이션의 응답 시간이 단축되며 시스템 성능이 향상될 수 있습니다.

2: 복제를 통한 데이터의 오프사이트 백업 실현

언제든지 데이터 백업은 매우 중요한 연결고리인데, mysql 마스터-슬레이브 구성은 오프사이트 백업을 매우 잘 구현하여 이 문제를 완벽하게 해결합니다.

3: 데이터베이스 시스템의 가용성 향상

데이터베이스 복제 기능은 마스터 서버와 슬레이브 서버 간의 데이터 동기화를 실현하여 데이터베이스 시스템의 가용성을 높입니다. 마스터 서버에 문제가 발생하면 데이터베이스 관리자는 즉시 슬레이브 서버를 마스터 서버로 만들어 데이터 업데이트 및 쿼리 서비스를 제공할 수 있다.

슬레이브는 어떻게 마스터의 데이터를 복사하나요?

1: 마스터의 데이터가 변경되면 변경 사항이 바이너리 로그에 기록됩니다.

2: 슬레이브는 마스터의 로그를 자신의 릴레이 로그에 복사합니다.

3: 슬레이브는 로그 기록을 기반으로 데이터를 업데이트합니다.

Configure master-slave mysql

1: 마스터 서버 구성

(1): 마스터 MySQL에서 사용자 '링크'를 생성하고 다른 슬레이브 서버가 링크 사용자를 통해 마스터에 원격으로 액세스하고 바이너리 로그를 읽을 수 있도록 승인합니다. , 데이터 동기화를 달성하십시오.

  1. mysql> 사용자 링크 생성

  2. mysql> 'mysql'로 식별된 *.*에 복제 슬레이브 부여; : mysql 구성 파일 my.ini(windows) / my.cnf(linux)를 수정하세요

  3. Linux 환경이라면 /etc/my.cnf 파일을 수정하세요. Windows 환경이라면 my.ini를 찾아보세요. mysql 설치 디렉토리에 있는 파일입니다.
[mysqld] 아래에 다음 명령문 줄을 추가합니다.

server-id=1   //给数据库服务的唯一标识,必须唯一  
log-bin=master-bin //开启二进制日志  
log-bin-index=master-bin.index

(3) mysql을 다시 시작하고 상태를 확인한 후 다음을 출력합니다.
    mysql> SHOW MASTER STATUS;  
    +-------------------+----------+--------------+------------------+-------------------+  
    | File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |  
    +-------------------+----------+--------------+------------------+-------------------+  
    | master-bin.000001 |      350 |              |                  |                   |  
    +-------------------+----------+--------------+------------------+-------------------+  
    1 row in set (0.00 sec)
  1. 2: 슬레이브 서버 구성
(1) mysql 수정

server-id=2
relay-log-index=slave-relay-bin.index   
relay-log=slave-relay-bin //配置中继日志  
log_slave_updates = 1 //表示slave将复制事件写进自己的二进制日志  
#replicate-do-table=bison.user //库名.表名  用来指定只对数据库中的某张表做同步

(2) mysql을 다시 시작하고 마스터에 연결합니다.
  1. mysql 다시 시작이 완료된 후 mysql에 로그인하고 CHANGE MASTER TO 문을 사용하여 마스터에 연결합니다.
  2. mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.123',//主服务器ip  
        -> MASTER_USER='link',  
        -> MASTER_PASSWORD='mysql',  
        -> MASTER_LOG_FILE='mysql-bin.000001',//master服务器日志文件,主服务器mysql使用SHOW MASTER STATUS语句  
        -> MASTER_LOG_POS=0;//日志的开始位置
(3) 구성이 올바른지 확인하세요

mysql> SHOW SLAVE STATUS\G

  1. 部分显示如下:  
    *************************** 1. row ***************************  
                 Slave_IO_State:  
                    Master_Host: server1  
                    Master_User: repl  
                    Master_Port: 3306
                  Connect_Retry: 60
                Master_Log_File: mysql-bin.000001
            Read_Master_Log_Pos: 4
                 Relay_Log_File: mysql-relay-bin.000001
                  Relay_Log_Pos: 4
          Relay_Master_Log_File: mysql-bin.000001
              <span style="color:#ff0000;"><strong> Slave_IO_Running: No  
              Slave_SQL_Running: No</strong></span>


    (4) 슬레이브 시작
  1. mysql

    >

    슬레이브 시작;
  2. 구성 보기:

    mysql> SHOW SLAVE STATUS\G  
    部分显示如下:主要看Slave_IO_Running和Slave_SQL_Running  
    *************************** 1. row ***************************  
                   Slave_IO_State: Waiting for master to send event  
                      Master_Host: 192.168.1.234
                      Master_User: link  
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: master-bin.000001
              Read_Master_Log_Pos: 350
                   Relay_Log_File: slave-relay-bin.000002
                    Relay_Log_Pos: 548
            Relay_Master_Log_File: master-bin.000001
                 Slave_IO_Running: Yes  
                Slave_SQL_Running: Yes
    알겠습니다. 메인 서버에 데이터베이스를 만들어 보세요.

    관련 권장 사항:

mysql 서버의 마스터-슬레이브 구성 소개

Mysql 시리즈(15) mysql 마스터-슬레이브 구성

mysql 데이터베이스의 마스터-슬레이브 구성에 대한 자세한 설명

위 내용은 mysql 마스터-슬레이브 구성 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.