>  기사  >  데이터 베이스  >  mysql 로그 기반 마스터-슬레이브 복제에 대한 자세한 설명

mysql 로그 기반 마스터-슬레이브 복제에 대한 자세한 설명

coldplay.xixi
coldplay.xixi앞으로
2020-08-17 16:55:332236검색

mysql 로그 기반 마스터-슬레이브 복제에 대한 자세한 설명관련 학습 권장사항:

mysql 비디오 튜토리얼

그래서! 나는 그것을하지 않았습니다. 하지만...

실험 환경으로 사용할 수는 없을까요? (어색한 미소)

문서를 찾는 것부터 실험을 실행하는 것까지 총 3일이 걸렸습니다. (하루 종일 이 문제에 집중하지 않았기 때문입니다.) 기본적으로는 끝났습니다. 즉, 누군가 나에게 어떻게 해야 하는지 아느냐고 묻는다면 나는 이미 해봤고 어려운 일이 아니라고 말할 것입니다.

특별히 주의할 점:

마스터와 슬레이브 사이의 방화벽을 허용해야 합니다.

mysql-id는 my.cnf만 볼 수 있어야 합니다.
    uuid는 auto.cnf만 볼 수 있어야 합니다
  1. 마스터 서버에는 승인을 받으려면 일반적으로 권한이 부여됩니다. 슬레이브 계정은 슬레이브 서버에 사용됩니다
  2. 일반적으로 사용되는 몇 가지 명령(로그용)이 있습니다

마스터 데이터베이스에서 작동하는 명령은


    mysql입니다. > 마스터 상태 표시; #마스터 데이터베이스의 상태 보기
  1. mysql > 'password'로 식별되는 'slave'@'%ip%'에 대한 복제 슬레이브 부여;

    #
    슬레이브'는 어느 계정인지 나타내며, @는 슬레이브 서버의 IP입니다. 다음은 비밀번호입니다.

    systemctl status Firewalld

    # 방화벽 상태 보기 firewall-cmd –list-all # 방화벽 포트 목록 보기

    Firewall-cmd –permanent –zone=public –add-port=3306/tcp

    # 릴리스 포트 3306

    firewall-cmd –reload

    #

    방화벽을 다시 시작하세요

    또한 iptable이 있는 경우 확인할 수 있습니다.

    슬레이브 라이브러리의 주요 작업은

    mysql> 복제 중지
  2. mysql> 복제 재설정

    mysql>
    mysql> show 슬레이브 상태G;
      #
    1. 상태 보기
    2. 상세 구성
환경 소개

마스터 서버 192.168.5.238 centos 7.4
    슬레이브 서버 192.168.5.239 centos 7.4
  1. 마스터-슬레이브 구성은 로그 사용

    1. 메인 서버에서 구성
    방화벽 동작, 추후 이상한 문제 방지를 위해 자주 사용하는 여러 명령어의 방화벽 동작 참고
  2. mysql 로그 관련 다른 사항을 먼저 건드리지 말고 이 단락을 읽어보세요.

    1. #

      aster live copyconfigure
    2. log- bin=mysql-bin //로그 파일 이름
    3. binlog_format=mixed //이 로그 형식에는 여러 가지 옵션이 있습니다. 모두가 혼합을 선택합니다. 자세한 내용을 알고 싶다면 공식 문서를 읽어보세요

      server-id = 238 //재사용하지 않으려면 서버 IP의 마지막 숫자를 사용해 보세요. to name

      skip_name_resolve=ON //직접 쓰세요, 다른 사람 문서 참고하세요
      expire_logs_days = 10 //로그 저장 일수를 설정합니다. 이건 추가할 필요가 없을 것 같고, 그렇지 않습니다. 추가해도 상관없습니다. 테스트 환경에서는 정식으로 온라인으로 실행하면 무게를 재야 하기 때문이죠

      # /etc/init.d/mysql restart // 꼭 어떻게 했는지 보라는 명령어는 아니니까요. centos를 설치하셨나요? systemctl restart mysql도 있습니다. 이해가 안 되시면 Linux 운영에 대해 더 자세히 알아보세요.
      ##두 서버가 복사되지 않은 경우 auto.cnf의 uuid가 달라야 합니다. 복사된 파일이어야 합니다. 이 파일은 mysql 설치 디렉터리의 /var 디렉터리에 있습니다. 존재하는 경우 이 파일을 삭제하거나 mv 백업하세요.




      mysql에 대한 복사 권한을 구성하세요

      # mysql -uroot -p "password" //mysql 서버에 로그인하면 비밀번호를 입력하라는 메시지가 표시됩니다
      mysql>GRANT 복제 슬레이브 ON . TO 'slave'@'%' IDENTIFIED BY '111111 '; // 복제에 대해 설명합니다 복사 권한 할당. 어떤 라이브러리를 운영할 수 있나요? 끝에 있는 'slave'@'%'는 모든 호스트가 슬레이브를 사용하여 라이브러리에서 복사할 수 있다는 의미입니다. IP 뒤에는 mysql> show master status;
      +——————+———-+————+—————+——————-+
      | 파일 | 위치 | Binlog_Ignore_DB | Execulated_Gtid_Set |
      +—— ————+————-+———–+—————-+
      -bin.000010 | 2812 | ——+————-+———–+——————+—————-+
      1줄(0.00초)
      위의 표는 성공을 나타냅니다

      라이브러리의 구성에서 my.cnf를 수정
      1. log-bin=mysql-bin //로그 파일 이름

        binlog_format=mixed //로그 형식

        server-id =239 //Server ID this 메인서버와 설명, tail IP를 사용

        #
        expire_logs_days = 10 //이것을 주석 처리했는데,

        # early-plugin-load = "" //이것은 당분간 사용하지 않으니 활성화 하시면 설정 가능합니다. 마스터-슬레이브 복제 항목은 중요 항목이 아닙니다relay_log = mysql-relay-bin //슬레이브 라이브러리의 복제 로그입니다
        relay_log_index=relay_log .index //Log index#
        /etc/init.d/mysql restart // Centos를 어떻게 설치했는지에 따라 달라지는 명령입니다. 이것을 이해하지 못한다면 systemctl restart mysql도 있습니다. , Linux 작업에 대해 자세히 알아볼 수 있습니다

        슬레이브 라이브러리 설정
      2. 슬레이브 라이브러리에서 mysql 터미널을 입력합니다. # mysql -uroot -p //터미널을 입력합니다

        1. #

          mysql -uroot -p //터미널에 들어가세요 (자세히 쓰는 이유는 이 글을 읽으시는 분들이 연산이 불완전한 것으로 오해하실까 봐 두려워서입니다)

          슬레이브 닫기
          #
        2. 슬레이브 닫기 주의 슬레이브 라이브러리를 구성하기 전에
        3. mysql>stop 슬레이브; //슬레이브 라이브러리를 닫는 것입니다. 완료되었는지 확인하세요.

          마스터 매개변수를 수정하세요
        4. mysql>마스터를

          master_host='로 변경하세요. 192.168.5.238',

          master_user='slave',
          master_password='위의 마스터 라이브러리 복사 권한 설정 시 비밀번호를 입력하세요',

          master_log_file='mysql-bin.000010', //여기에 입력하세요. 파일을 복사하면 됩니다. 메인 라이브러리의 show master 상태 이름. //메인 라이브러리에서 show master 상태를 찾습니다.


          mysql>start 슬레이브 시작;
          마스터-슬레이브 복제가 성공했는지 확인하세요

          mysql> showslave status G;
        5.          Slave_IO_State: Waiting for master to send event
                        Master_Host: 192.168.5.238
                        Master_User: slave
                        Master_Port: 3306
                      Connect_Retry: 60
                    Master_Log_File: mysql-bin.000010
                Read_Master_Log_Pos: 2812
                     Relay_Log_File: mysql-relay-bin.000013
                      Relay_Log_Pos: 3025
              Relay_Master_Log_File: mysql-bin.000010
                   Slave_IO_Running: Yes
                  Slave_SQL_Running: Yes
        6. Slave_IO_Running 및 Slave_SQL_Running 값이 모두 Yes인지 확인하세요. 그렇지 않으면 다음 프롬프트 메시지를 확인하세요. 구글이나 바이두에서 검색하시면 찾으실 수 있을 겁니다

          설정 중에 문제가 발생했습니다. 즉, uuid 오류가 보고되었습니다. 이유는 mysql을 설치한 후 가상 머신에서 제 실험 환경을 복사했기 때문입니다. , 그래서 mysql이 발생했습니다. uuid는 동일합니다
        7. #

          cd /usr/local/mysql/var

          #

          mv auto.cnf auto.cnf.back //없으면 확인하세요. 그렇다면 작동하지 마세요

          #
          /etc/init.d/mysql restart //데이터베이스를 다시 시작하세요
            그런 다음 showslave statusG를 실행하고 두 개의 yes
          1. 이 시점에서 로그를 확인하세요. 기반 마스터-슬레이브 복제가 완료되었습니다


          2. 요약:
          3. 방화벽을 먼저 읽어야 합니다
        8. 단계는 중요하지 않습니다. 성공할 때까지 따라하세요
      3. 조심하세요 , 당황하지 마세요

    관련 그래픽 튜토리얼: mysql 데이터베이스 그래픽 튜토리얼


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

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제