¿Cómo obtener el tamaño de una base de datos mysql?
Supongamos que la base de datos de destino se llama "v3".
¿Cómo obtener el tamaño de una base de datos mysql?
Supongamos que la base de datos de destino se llama "v3".
Respuestas:
Ejecute esta consulta y probablemente obtendrá lo que está buscando:
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;
Esta consulta proviene de los foros de mysql , donde hay instrucciones más completas disponibles.
FROM
y GROUP
: where table_schema='DATABASE_NAME'
- reemplazando DATABASE_NAME
con su base de datos.
Syntax error: {column title} (double quoted text) is not valid input here.
error. Los títulos de las columnas deben estar envueltos en marcas de graduación. Es decir Database Name
.
Se puede determinar usando el siguiente comando MySQL
SELECT table_schema AS "Database", SUM(data_length + index_length) / 1024 / 1024 AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema
Resultado
Database Size (MB)
db1 11.75678253
db2 9.53125000
test 50.78547382
Obtener resultado en 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
Alternativamente, si está utilizando phpMyAdmin
, puede echar un vistazo a la suma de los tamaños de tabla en el pie de página de la structure
pestaña de su base de datos . El tamaño real de la base de datos puede ser ligeramente superior a este tamaño, sin embargo, parece ser coherente con el table_schema
método mencionado anteriormente.
Captura de pantalla :
Alternativamente, puede saltar directamente al directorio de datos y verificar el tamaño combinado de v3.myd, v3. myi y v3. archivos frm (para myisam) o v3.idb y v3.frm (para innodb).
Para obtener un resultado en MB:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
Para obtener un resultado en 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 |
+----------+----------------+
Si no está instalado, esto puede instalarse instalando el mysql-utils
paquete que debería ser empaquetado por la mayoría de las distribuciones principales.
Primero inicie sesión en MySQL usando
mysql -u username -p
Comando para mostrar el tamaño de una sola base de datos junto con su tabla en 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;
Cambiar database_name a su base de datos
Comando para mostrar todas las bases de datos con su tamaño en 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;
Entra en el directorio de datos mysql y ejecuta du -h --max-depth=1 | grep databasename