2021 09 29
2021-09-29¶
Binlog¶
- 참고: https://byedong.tistory.com/10
- binlog 썰
- 원래 binlog는 replication을 위함 but 복구용도로도 매우 훌륭!
- /etc/my.cnf에 log-bin 주석처리 되어있지 않다면, mysql은 기본적으로...
- /usr/local/mysql/data 디렉토리에
- Host명-bin.000001
- Host명-bin.000002
- Host명-bin.000003... 등을 생성
- mysql 재시작할 때 마다 늘어나는 숫자!
- binlog에는...
- DDL (Create, Alter, Drop), DML (Insert, Update, Delete) 등이 기록
- binlog는 바이너리라서 변환 좀 해야 읽을 수 있음
-
/usr/local/mysql/data/Host명-bin.0000001 >> 1.sql- 이렇게 백업 받은 파일에서 1.sql의 50000번쨰 SQL 문이 장애를 일으킨놈이라면 이걸 주석처리하자
Crontab¶
- 참고 1: https://jdm.kr/blog/2
- 참고 2: https://xrabcde.github.io/db-backup-auto/
- Crontab 기본
- 윈도우의 스케줄러와 비슷
- "특정 시간에 특정 작업을 실행한다!"
-
$ crontab -e- 크론탭 설정할 수 있는 장소 - 각종 크론탭 명령 입력해두자 -$ crontab -l- cat 명령어로 파일 읽어들인 것처럼 표준 출력으로 크론탭 내용 -$ crontab -r- 크론탭 삭제 - 한 번 입력해볼까? 1.$ crontab -e2.* * * * * ls -al3.:wq
- 주기 설정
- 숫자 범위로 입력하거나 * 로 입력하거나! - 예시들 -
* * * * * /home/script/test.sh: 매분 test.sh 실행 -45 5 * * 5 /home/script/test.sh: 매주 금요일 오전 5시 45분에 test.sh 실행 -0,20,40 * * * * /home/script/test.sh: 매일 매시간 0분, 20분, 40분에 test.sh 실행 -0-30 1 * * * /home/script/test.sh: 매일 1시 0분 ~ 30분 까지 매 분 test.sh 실행 -*/10 * * * * /home/script/test.sh: 매 10분마다 test.sh 실행 -*/10 2,3,4 5-6 * * /home/script/test.sh: 5일에서 6일까지 2,3,4시에 매 10분마다 tesh.sh 실행 - 기호들 -*: 매번 --: 부터 어디까지 -/: 마다
MariaDB binlog¶
- 참고 1: https://mariadb.com/kb/en/overview-of-the-binary-log/
- 참고 2: https://mariadb.com/kb/en/activating-the-binary-log/
- 참고 3: https://mariadb.com/kb/en/using-and-maintaining-the-binary-log/
- Overview - binlog는 DB 구조, 데이터 변경, 쿼리 등을 모두 저장 - CREATE, ALTER, INSERT, UPDATE, DELETE는 로그 되지만, SELECT, SHOW는 로그 안 됨 - binlog의 목적은 replication 사용. Master-Slave 구조 - MariaDB 서버에 binlog를 활성화 시키면 조금 느려짐 - binlog에도 민감한 정보가 포함될 수 있으니, 정보 보호가 매우 중요 - binlog는 binary로 저장됨. 따라서 에디터에서 보고 싶다면 mysqlbinlog를 활용해 변환해야함
- Activating the Binary Log
- binlog 활성화를 위해
--log-bin[=name]옵션으로 서버를 시작할 것 - name을 안쓰면 datadir/log-basename-bin, datadir/mysql-bin, datadir/mariadb-bin 중 하나 ---log-basename옵션을 추가하여 filename을 명시해주는 것을 추천 - binlog를 저장해두는 곳엔 binary log index가 포함되고, - 진행될수록 높은 번호의 binlog가 쌓임shell> ls -l total 100 ... -rw-rw---- 1 mysql adm 2098 Apr 19 00:46 mariadb-bin.000079 -rw-rw---- 1 mysql adm 332 Apr 19 00:56 mariadb-bin.000080 -rw-rw---- 1 mysql adm 347 Apr 19 07:36 mariadb-bin.000081 -rw-rw---- 1 mysql adm 306 Apr 20 07:15 mariadb-bin.000082 -rw-rw---- 1 mysql adm 332 Apr 20 07:41 mariadb-bin.000083 -rw-rw---- 1 mysql adm 373 Apr 21 07:56 mariadb-bin.000084 -rw-rw---- 1 mysql adm 347 Apr 21 09:09 mariadb-bin.000085 -rw-rw---- 1 mysql adm 398 Apr 21 21:24 mariadb-bin.000086 -rw-rw---- 1 mysql adm 816 Apr 21 17:05 mariadb-bin.index