답변:
이 쿼리를 실행하면 원하는 것을 얻을 수 있습니다.
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 에서 온 것입니다.
FROM
하고 GROUP
라인 : where table_schema='DATABASE_NAME'
- 대체 DATABASE_NAME
데이터베이스와 함께.
Syntax error: {column title} (double quoted text) is not valid input here.
오류를 뱉어냅니다 . 열 제목은 눈금으로 싸야합니다. 즉 Database Name
.
다음 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
또는 데이터 디렉토리로 직접 이동하여 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";
처음으로 MySQL에 로그인
mysql -u username -p
테이블과 함께 단일 데이터베이스의 크기를 MB 단위로 표시하는 명령입니다.
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
database_name을 데이터베이스로 변경하십시오.
크기가 MB 인 모든 데이터베이스를 표시하는 명령입니다.
SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;