MySQL 의 innodb 를 어떻게 구분 합 니까?flush_log_at_trx_commt 와 syncbinlog
show variables like "innodb_flush_log_at_trx_commit";
innodb_flush_log_at_trx_commit:
0:mysql 의 mainthread 는 1 초 에 엔진 log buffer 에 저 장 된 redo 로 그 를 log file 에 기록 하고 파일 시스템 의 sync 작업 을 호출 하여 로 그 를 디스크 에 새로 고 칩 니 다.
1:트 랜 잭 션 을 제출 할 때마다 엔진 log buffer 에 저 장 된 redo 로 그 를 log file 에 기록 하고 파일 시스템 의 sync 작업 을 호출 하여 로 그 를 디스크 에 새로 고 칩 니 다.
2:트 랜 잭 션 을 제출 할 때마다 엔진 log buffer 에 저 장 된 redo 로 그 를 log file 에 기록 하고 엔진 을 저장 하 는 mainthread 는 초당 로 그 를 디스크 에 새로 고 칩 니 다.
show variables like "sync_binlog";
sync_binlog:
0:메모리 엔진 은 binlog 의 리 셋 을 하지 않 고 운영 체제 의 파일 시스템 에서 캐 시 리 셋 을 제어 합 니 다.
1:업 무 를 제출 할 때마다 저장 엔진 이 파일 시스템 의 sync 작업 을 호출 하여 캐 시 새로 고침 을 합 니 다.이런 방식 이 가장 안전 하지만 성능 이 낮 습 니 다.
n:제출 한 로그 그룹=n 일 때 저장 엔진 이 파일 시스템 의 sync 작업 을 호출 하여 캐 시 새로 고침 을 합 니 다.
sync_binlog=0 또는 syncbinlog 가 1 이상 이면 디스크 에 동기 화 되 지 않 고 트 랜 잭 션 이 제출 됩 니 다.따라서 전원 고장 이나 운영 체제 가 붕 괴 될 때 서버 가 바 이 너 리 로그 에 사 무 를 동기 화하 지 않 겠 다 고 약속 한 것 일 수 있 습 니 다.따라서 이 작업 을 복구 하 는 루틴 을 실행 할 수 없습니다.바 이 너 리 로 그 를 잃 어 버 릴 것 입 니 다.
innodb_flush_log_at_trx_commt 와 syncbinlog 는 모두 1 일 때 가장 안전 합 니 다.my sqld 서비스 가 붕괴 되 거나 서버 호스트 crash 의 경우 binary log 는 가장 많은 문구 나 사 무 를 잃 어 버 릴 수 있 습 니 다.그러나 물고기 와 곰 발바닥 을 동시에 얻 을 수 없다.쌍 1,1 은 빈번 한 io 조작 을 초래 할 수 있 기 때문에 이 모델 도 가장 느 린 방식 이다.
실제 사용 할 때 업무 측 이 성능 과 안전성 에 대한 수 요 를 고려 하고 종합 적 으로 설정 하 며 두 개의 매개 변 수 를 고려 해 야 한다.위의 그림 은 우리 온라인 기계 의 매개 변수 이다.
이상 은 MySQL 의 innodb 를 어떻게 구분 하 는 지 입 니 다.flush_log_at_trx_commt 와 syncbinlog 의 자세 한 내용,MySQL 에 대한 innodbflush_log_at_trx_commt 와 syncbinlog 의 자 료 는 우리 의 다른 관련 문장 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.