쉘 스크립트를 통해 바이너리 로그 선택 및 지우기

쉘 스크립트를 통해 바이너리 로그 선택 및 지우기

여기에 이미지 설명을 입력하세요.

이것이 메인 바이너리 로그라고 가정하고, "mysqld-bin.000002"에 대한 바이너리 로그를 지워서 디스크의 일부 공간을 확보하고 싶습니다. 쉘 scipt를 사용하여 이 작업을 수행하고 싶습니다.

답변1

바이너리 로그 처리(복제)를 사용하지 않는 경우 영구적으로 삭제할 수 있습니다.

bin 로깅과 관련된 모든 /etc/mysql/my.cnf(또는 배포판의 이에 상응하는) 구성 문을 제거합니다. 예를 들어 MariaDB를 사용하는 최근 배포의 경우 다음과 같습니다.

먼저 MariaDB/MySQL을 중지하세요...

service mysql stop

그런 다음 /etc/mysql/my.cnf 섹션을 삭제합니다...

log_bin                 = /var/log/mysql/mariadb-bin
log_bin_index           = /var/log/mysql/mariadb-bin.index

그런 다음 이전 바이너리 로그 파일을 삭제합니다...

rm -fv /var/log/mysql/mariadb-bin*

그런 다음 MariaDB/MySQL을 다시 시작하십시오.

service mysql start

MariaDB/MySQL이 중지된 상태에서 이러한 변경을 수행해야 합니다. 그렇지 않으면 데이터가 손실될 수 있습니다.

답변2

도착하다분명한 수동그리고바이너리 로그 지우기성명:

PURGE MASTER LOGS TO 'mysqld-bin.000002';

----------

바이너리 로그 파일 만료자동으로지정된 일수 이후 - 설정만료된 로그 일수시스템 변수.
서버별 my.cnf파일에 주요 설정을 추가합니다. Unix 계열 시스템에서는 일반적으로 /etc/my.cnf또는 에 있습니다 /etc/mysql/my.cnf.

파일을 열고 [mysqld]섹션을 찾아 원하는 일수를 지정하는 설정을 추가합니다.

[mysqld]
...
expire_logs_days=10

변경 완료 후 다시 로드데이터 베이스제공하다:

/etc/init.d/mysql reload

관련 정보