Tag Archives: 용량

[Linux/MySQL] 쿼리 한번으로 데이터베이스 용량 알아내기

사용중인 데이터베이스들의 용량을 알아오기 위해서는 다양한 방법이 사용될 수 있겠고 다양한 툴들이 존재할 것입니다. 하지만 간편하게 쿼리 한번으로 용량을 알아내는 방법도 있습니다.

다음의 쿼리를 사용하면 손쉽게 용량을 메가바이트 단위로 알아낼 수 있습니다.
[code]SELECT table_schema “Database Name”, SUM(data_length + index_length) / 1024 / 1024 “Size(MB)” FROM information_schema.TABLES GROUP BY table_schema;[/code]
사용자 삽입 이미지
어떠신가요?

[MySQL] 무한정 늘어나는 log-bin 파일 줄이기

MySQL에서 사용하는 log-bin이라는 옵션은 사용된 쿼리들이 로깅되는 파일이며 Innodb 혹은 Replication등에서 사용되곤 합니다.

하지만 이 파일의 문제는 무한정 늘어난다는 것입니다. relay-log-space-limit 같은 옵션이 있지만 이 옵션은 Replication에서 사용되는 relay-log-bin의 용량을 제한 하는 옵션이지 해결책이 되지 못합니다.

하지만 이 파일을 정리하는 방법이 있습니다. 우선 다음의 Query를 사용하는 것입니다.

INTERVAL에서는 원하시는 로깅 시점을 기록하시면 됩니다. 위의 경우에는 30일 이전의 로깅 정보를 삭제하게 됩니다.

차례차례 해보도록 하겠습니다.

1. 현재의 하드디스크 용량 상태를 확인합니다.

데이터베이스 공간이 85%나 사용되어 곧 꽉찰지도 모른다는 불안감에 휩싸이게 되었습니다.

2. log-bin 파일을 확인해 봅시다.

파일이 엄청나게 많이 있습니다.

3. 다음 명령어를 수행합니다.

물론 mysql에 접속하셔서 위의 명령어를 입력하셔도 됩니다. Super권한을 가진 root계정으로 실행해 주세요.

4. log-bin 파일이 줄었나 확인해 봅시다.

41번 이전의 파일들이 모두 삭제 되었습니다. 41번 부터가 최근 30일 이내의 로그정보가 남아있는 모양이군요.

5. 하드디스크 용량 상태를 확인해 봅시다.

확실히 용량이 많이 확보가 되었군요^^

주기적인 실행이 필요하실 경우에는 위의 명령어를 crontab에 등록하시면 됩니다. 일주일에 한번정도의 실행이 적당하겠네요.