Programing

MySQL 데이터베이스의 크기를 얻는 방법?

lottogame 2020. 2. 14. 21:54
반응형

MySQL 데이터베이스의 크기를 얻는 방법?


MySQL 데이터베이스의 크기를 얻는 방법?
대상 데이터베이스가 "v3"이라고 가정하십시오.


이 쿼리를 실행하면 원하는 것을 얻을 수 있습니다.

SELECT table_schema "DB Name",
        ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" 
FROM information_schema.tables 
GROUP BY table_schema; 

이 쿼리 는보다 포괄적 인 지침이 있는 mysql forums 에서 온 것입니다.


다음 MySQL 명령을 사용하여 확인할 수 있습니다

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema

결과

Database    Size (MB)
db1         11.75678253
db2         9.53125000
test        50.78547382

GB로 결과 얻기

SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 / 1024 AS "Size (GB)" FROM information_schema.TABLES GROUP BY table_schema

또는을 사용하는 경우 phpMyAdmin데이터베이스 structure의 바닥 글에서 테이블 크기의 합계를 살펴볼 수 있습니다 . 실제 데이터베이스 크기는이 크기보다 약간 클 수 있지만 table_schema위에서 언급 한 방법 과 일치하는 것으로 보입니다 .

스크린 샷 :

여기에 이미지 설명을 입력하십시오


또는 데이터 디렉토리로 직접 이동하여 v3.myd, v3의 결합 된 크기를 확인할 수 있습니다. myi와 v3. frm 파일 (myisam) 또는 v3.idb & v3.frm (inonodb).


MB 단위로 결과를 얻으려면

SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";

GB 단위로 결과를 얻으려면 :

SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";

mysqldiskusage  --server=root:MyPassword@localhost  pics

+----------+----------------+
| db_name  |         total  |
+----------+----------------+
| pics     | 1,179,131,029  |
+----------+----------------+

설치되지 않은 경우 mysql-utils대부분의 주요 배포 에서 패키지해야하는 패키지를 설치하여 설치할 수 있습니다 .


mysql 데이터 디렉토리로 이동하여 du -h --max-depth = 1 | grep 데이터베이스 이름

참고 URL : https://stackoverflow.com/questions/1733507/how-to-get-size-of-mysql-database



반응형