웹사이트 검색

Linux에서 MySQL 데이터베이스 크기를 확인하는 방법


이 글에서는 MySQL 쉘을 통해 MySQL/MariaDB 데이터베이스와 테이블의 크기를 확인하는 방법을 보여드리겠습니다. 디스크에 있는 데이터베이스 파일의 실제 크기와 데이터베이스에 있는 데이터의 크기를 결정하는 방법을 배우게 됩니다.

참고 자료: Linux에서 데이터베이스 관리를 위한 20가지 MySQL(Mysqladmin) 명령

기본적으로 MySQL/MariaDB는 모든 데이터를 파일 시스템에 저장하며, 데이터베이스에 존재하는 데이터의 크기는 나중에 살펴보게 될 디스크의 실제 MySQL 데이터 크기와 다를 수 있습니다.

또한 MySQL은 information_schema 가상 데이터베이스를 사용하여 데이터베이스 및 기타 설정에 대한 정보를 저장합니다. 표시된 대로 쿼리하여 데이터베이스 및 해당 테이블의 크기에 대한 정보를 수집할 수 있습니다.

mysql -u root -p
MariaDB [(none)]> SELECT table_schema AS "Database Name", 
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size in (MB)" 
FROM information_schema.TABLES 
GROUP BY table_schema; 

rcubemail(모든 테이블의 크기를 표시함)이라는 단일 MySQL 데이터베이스의 크기를 확인하려면 다음 mysql 쿼리를 사용하세요.

MariaDB [(none)]> SELECT table_name AS "Table Name",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)"
FROM information_schema.TABLES
WHERE table_schema = "rcubemail"
ORDER BY (data_length + index_length) DESC;

마지막으로 디스크(파일 시스템)에 있는 모든 MySQL 데이터베이스 파일의 실제 크기를 확인하려면 아래 du 명령을 실행하세요.

du -h /var/lib/mysql

다음 MySQL 관련 기사를 읽고 싶을 수도 있습니다.

  1. Linux에서 MySQL 성능을 모니터링하는 4가지 유용한 명령줄 도구
  2. 12가지 Linux용 MySQL/MariaDB 보안 모범 사례

이 주제와 관련하여 공유하고 싶은 질문이나 추가 아이디어가 있으면 아래 피드백 양식을 사용하세요.