/etc/my.cnf.d/mysql-server.cnf 파일 설정
master 상태 확인
이중화할 계정 생성
CREATE USER 'slave'@'%' IDENTIFIED BY 'Dkagh1234!';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
select user, host from user 로 slave user가 잘 만들어졌는지 확인
select * from mysql.user where user='slave'\G
위의 명령어를 입력해서 Repl_slave_priv 속성이 Y로 되어있는지 확인한다.
현재 데이터 백업
CREATE DATABASE cdh;
USE cdh;
CREATE TABLE student ( sname VARCHAR(10), sage INT );
INSERT INTO student (sname, sage) VALUES ('kim', 30);
quit
mysqldump -u root -p --all-databases > back.db
scp ./back.db [슬레이브 IP]:/root/back.db
cdh 데이터베이스를 생성하고, 그 안에 student 테이블을 만든다.
테이블 안에 임의의 데이터 값을 넣어준다.
sql을 나간 후, 현재 저장한 데이터베이스를 back.db 라는 파일로 저장해준다.
scp 명령어는 다른 컴퓨터에게 파일을 전송해주는 것이다.
방금 저장한 back.db 파일을 slave 컴퓨터에 /root 경로에 back.db 파일로 저장해준다.
위의 그림을 보면 scp 명령어로 slave 컴퓨터에 back.db 파일이 잘 도착한 것을 볼 수있다. 왼쪽이 master 컴퓨터, 오른쪽이 slave 컴퓨터이다.
/etc/my.cnf.d/mysql-server.cnf 파일 설정
데이터 복구
master 지정
change master to
master_host='[마스터 IP]',
master_user='[이중화 계정]',
master_password='Dkagh1.',
master_log_file='mysql-bin.[마스터의 로그 번호]',
master_log_pos=[마스터의 포지션 번호];
동기화 시작
slave 상태 확인
select * from student; 로 테이블 확인
slave도 위의 과정과 동일하게 접속 후, 테이블 확인
master에 데이터 추가
slave에서 동기화가 잘 되었는지 확인하기 위해 데이터가 추가되었는지 확인