실전 MYSQL 8.0.12 기본 복제 구성 프로세스

실전 MYSQL 8.0.12 기본 복제 구성 프로세스
구축 환경:
Server name
IP
mysql1
192.168.200.1
mysql2
192.168.200.2
서버 버전: CentOS Linux release 7.5.1804(Core) MYSQL 버전: 8.0.12 # 소스 설치를 사용한 약식 또는 참조https://blog.51cto.com/snowlai/2140451
  MYSQL          ,     /etc/my.cnf   ,      ,      :

vim/etc/my.cnf#mysql1의 내용, mysql2의 내용 차이는 서버-id=2이면 됩니다. 다른 것은 마찬가지입니다.
[mysqld]datadir=/usr/local/mysql/datasocket=/tmp/mysql.sockserver-id = 1log-bin=mysql-binrelay-log = mysql-relay-binreplicate-wild-ignore-table=mysql.%replicate-wild-ignore-table=test.%replicate-wild-ignore-table=information_schema.%symbolic-links=0log-error=/usr/local/mysql/data/mysql1.errpid-file=/usr/local/mysql/data/mysql1.pid
mysql1 데이터베이스에 들어가기
mysql-uroot-p# 데이터베이스 비밀번호 입력 mysql>flush table with read lock;
데이터베이스 쓰기 작업을 잠근 후 이 터미널을 종료하지 말고 터미널을 복사해서/usr/local/mysql/data를 압축해서 포장한 다음 scp를 mysql2에 넣으십시오.
tar zcvf data.tar.gz datascp data.tar.gz root@mysql2:/usr/local/mysql/
그리고 mysql2에서 데이터를 압축합니다.tar.gz, auto를 삭제합니다.cnf 파일
tar zxvf data.tar.gzrm -rf auto.cnf
mysqld 서비스를 다시 시작합니다
service mysqld restart
mysql1: MASTER ; mysql2:SLAVE
mysql1에 복제 사용자(repl user)를 생성하고 권한을 부여합니다.
grant replication slave on . to 'repl_user'@'mysql2' identified by 'REPL_PASSWORD';show master status;
Master 출력:File 및 Position 값 기록
mysql2에 로그인하여 mysql1을 주 서버로 설정
change master to master_host='mysql1',master_user='repl_user',master_password='REPL_PASSWORD',master_log_file='mysql1에서 File의 값', 마스터log_pos=mysql1의position값;start slave;show slave status\G;
mysql2: MASTER ; mysql1: SLAVE는 mysql2에 복제 사용자(repl user)를 만들고grant replication slave on에 권한을 부여합니다.to 'repl_user'@'mysql1' identified by 'REPL_PASSWORD';show master status;
Master 출력:File 및 Position 값 기록
mysql1에 로그인하여 mysql2를 주 서버로 설정
change master to master_host='mysql2',master_user='repl_user',master_password='REPL_PASSWORD',master_log_file='mysql2에서 File의 값', 마스터log_pos=mysql2의position값;start slave;show slave status\G;
참고 사항:
  • 두 데이터베이스의 데이터는 초기 상태에서 일치해야 show master status를 확보할 수 있다.출력의 결과가 일치해야 한다.
  • show slave status\G; 라고 적었다.Slave_IO_Running 및 SlaveSQL_런닝의 결과는 YES이다.
  • 데이터베이스 구성 파일:/etc/my.cnf의 서버-id 값이 달라야 합니다.
  • 두 서버의 데이터베이스 버전은 동일해야 합니다.
  • 좋은 웹페이지 즐겨찾기