MySQL 마스터-슬레이브 복제를 설정하는 방법

不言
풀어 주다: 2019-03-04 16:52:33
원래의
2281명이 탐색했습니다.

이 글에서는 MySQL 서버 간 마스터-슬레이브 복제 설정에 대해 소개합니다. 구체적인 내용을 살펴보겠습니다.

MySQL 마스터-슬레이브 복제를 설정하는 방법

설정 내용:

마스터 서버: 192.168.1.10

슬레이브 서버: 192.168.1.20

데이터베이스: mydb

1. 세트 MySQL 마스터 서버

메인에서 서버 REPLICATION SLAVE 권한이 있는 mysql 계정을 생성하면 복제 클라이언트가 마스터에 연결됩니다.

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'192.168.1.20' IDENTIFIED BY 'secretpassword';
mysql> FLUSH PRIVILEGES;
로그인 후 복사

모든 테이블에 블록 쓰기 문이 있으므로 백업 후에는 변경하지 마세요.

mysql> use mydb;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> exit;
로그인 후 복사

mysql 구성 파일을 편집하고 [mysqld] 섹션 아래에 다음 코드를 추가하세요.

# vim /etc/my.cnf
로그인 후 복사
로그인 후 복사
[mysqld]
log-bin=mysql-bin
binlog-do-db=mydb
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
로그인 후 복사

변경 사항을 적용하려면 마스터 mysql 서버를 다시 시작하세요.

# service mysqld restart
로그인 후 복사

현재 바이너리 로그 파일명(File)과 현재 오프셋(Position) 값을 확인하려면 다음 명령어를 사용하세요.

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      107 | mydb         |                  |
+------------------+----------+--------------+------------------+
로그인 후 복사

위 출력은 현재 바이너리가 오프셋 107과 함께 mysql-bin.000002를 사용하고 있음을 보여줍니다. 슬레이브 서버에서 사용하려면 이 값을 기록해 두세요.

데이터베이스를 백업하고 슬레이브 mysql 서버에 복사하세요.

# mysqldump -u root -p mydb > mydb.sql
# scp mydb.sql 192.168.1.20:/opt/
로그인 후 복사

백업 완료 후 변경이 가능하도록 테이블에서 READ LOCK을 제거하세요.

mysql> UNLOCK TABLES;
로그인 후 복사

2. MySQL 슬레이브 서버 설정

salve mysql 구성 파일을 편집하고 [mysqld] 섹션에 다음 값을 추가합니다.

# vim /etc/my.cnf
로그인 후 복사
로그인 후 복사
[mysqld]
server-id=2
replicate-do-db=mydb
로그인 후 복사

server-id는 항상 0이 아닌 값입니다. 이러한 값은 다른 마스터 및 슬레이브와 결코 유사하지 않습니다.

mysql 슬레이브 서버를 다시 시작하세요. 복제를 구성한 경우 시작 시 -skip-slave-start를 사용하세요. 즉시 마스터 서버에 연결하지 마세요.

# /etc/init.d/mysqld restart
로그인 후 복사

슬레이브 서버의 옵션 값을 설정하려면 다음 명령어를 사용하세요.

mysql>  CHANGE MASTER TO MASTER_HOST='192.168.1.10',
    -> MASTER_USER='repl_user',
    -> MASTER_PASSWORD='secretpassword',
    -> MASTER_LOG_FILE='mysql-bin.000002',
    -> MASTER_LOG_POS=107;
로그인 후 복사

드디어 슬레이브 스레드

mysql> SLAVE START;
로그인 후 복사

를 시작하여 슬레이브 서버의 상태를 확인합니다.

mysql> show slave status G
로그인 후 복사
*************************** 1. row ***************************
               Slave_IO_State:
                  Master_Host: 192.168.1.15
                  Master_User: repl_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 107
               Relay_Log_File: mysqld-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: No
            Slave_SQL_Running: No
              Replicate_Do_DB: mydb
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 107
              Relay_Log_Space: 107
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 1
1 row in set (0.00 sec)
mysql>
로그인 후 복사

MySQL 마스터-슬레이브 복제가 시스템 및 작업 모드에서 성공적으로 구성되었습니다.

위 내용은 MySQL 마스터-슬레이브 복제를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿