mysql 재기동 명령어
sudo service mysql [stop/start/restart]
DB(Maria DB) M-S 재구성
이 내용은 M-S 구조가 깨졌을때 재구성 하는 작업입니다.
slave 재기동 후 IO Thread, SQL Thread 가 yes로 나오면 수행 할 필요 없습니다.
Maria DB는 binary log를 통한 replication만 지원하기 때문에, 마스터의 내용을 복사 후 binary log 포지션을 기입해 주어 따라가게끔 해주어야 합니다.
bin log는 로컬파일을 사용한다는 장점이 있지만 Active - Standby 개념이 아닌 Master- Slave 관계여서 수동으로 작업해야할 게 많습니다.
#1~4과정은 데이터를 새로 엎어치는 내용입니다. 데이터의 보존을 위해 lock 을 걸어주어야 합니다.
#2번 , 4번과정의 dump와 다시 import 하는 작업은 스키마 구조를 같게 하기위해서 하는작업입니다. - 단순히 slave 깨진거라면 2,4번 생략 가능
1. Master DB Lock (on Master)
Maria DB > FLUSH TABLES WITH READ LOCK;
2. mysql dump (On Master, Master데이터를slave에 import하기위해 )
mkdir /home/ndap/henry
mysqldump -h salvehost -uroot -p --extended-insert --routines --triggers --all-databases > /home/ndap/henry/mysql_backup_$(date +\%Y\%m\%d).sql
3. slave기능stop (on Slaves)
stop slave;
4. mysqldump파일import (On slaves)
mysql -uroot -p < mysql_backup_$(date +\%Y\%m\%d).sql
5. Master의bin log메모
Maria DB > SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| mysql-bin.000019 | 2454692 | | |
+-------------------+----------+--------------+------------------+
6. slave구성 재설정(on slave)
Maria DB >
change master to
MASTER_HOST="master.host" ,
MASTER_USER="*****" ,
MASTER_PASSWORD="******" ,
MASTER_LOG_FILE="mysql-bin.000019",
MASTER_LOG_POS=2454692 ;
--> MASTER_LOG_FILE에는 5번항목의 File 명을 (=mysql-bin.000019) 적어준다.
MASTER_LOG_POS에는 5번항목의 Position을(= 2454692 ) 적어준다
7. Slave기능 시작(On Slave)
Maria DB > start slave ;
8. Slave상태 확인
Maria DB > show slave status \G;
IO Thread, SQL Thread 가 yes로 나와야함
9. Master DB Unlock
UNLOCK TABLES;
'System Engineering' 카테고리의 다른 글
gitlab version 패치 (다운그레이드) (0) | 2022.05.08 |
---|---|
[DB] Percona XtraDB Cluster 알아 보기 / mysql 저장기간 변경 (0) | 2022.05.02 |
[System] 리눅스 Screen 명령어 window 탭 page number 설정 (0) | 2020.01.29 |