master db가 있는 서버에서 진행
db 백업 후 db 백업용 서버로 옮긴다.
#mysqldump -u root -p --all-databases > db_bac.sql
#scp -i /etc/ssl/certs/test.pem db_bac.sql centos@192.168.1.20:/home/centos
복사용 계정 만들고 복사할 권한만 부여한다.
192.168.1.20 : slave 디비 서버 내부 아이피
MariaDB [(none)]> create user backup@'백업서버 내부 ip' identified by 'password';
MariaDB [mysql]> grant replication slave on *.* to backup@'192.168.1.20';
권한 확인
MariaDB [mysql]> show grants for backup@'192.168.1.20'
다음 파일 열어서 [mariadb] 밑으로 세줄 추가
#vi /etc/my.cnf.d/server.cnf
[mariadb]
server-id = 1
log-bin
log-basename=master1
저장후 재시작
#systemctl restart mariadb
mysql 접속해서 마스터상태 확인 , 나중에 file,position 값 써야함
MariaDB [mysql]> show master status
slave db가 있는 서버에서 진행
파일 열고 [mariadb] 밑으로 세줄 입력 , server-id는 마스터 아이디랑 안겹치게 한다.
#vi /etc/my.cnf.d/server.cnf
[mariadb]
server-id = 2
log-bin
report-host=slave1
디비 재시작 후 슬레이브 확인
#systemctl restart mariadb
MariaDB [mysql]> show variables like 'server_id';
host, user name , 위에서 사용한다했던 file,position을 넣고 실행.
CHANGE MASTER TO MASTER_HOST='마스터디비서버내부ip', MASTER_PORT=3306, MASTER_USER='backup', MASTER_PASSWORD='password', MASTER_LOG_FILE='master1-bin.000001', MASTER_LOG_POS=330;
시작
MariaDB [(none)]> start slave;
master db 테이블 중 값 하나 아무거나 바꾸고 slave 쪽에 보면 똑같이 바뀌어있다.
'study > Database' 카테고리의 다른 글
mysql 다른 서버의 db 연결 에러 (0) | 2021.10.21 |
---|---|
db dump mariadb 디비 덤프 (0) | 2021.10.01 |
csv 파일 데이터를 직접 디비에 insert (DBeaver) (0) | 2021.09.29 |
댓글