sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo almacena datos MySQL?

Esta pregunta es un poco antigua, pero decidí responderla de todos modos ya que he estado investigando un poco sobre la misma. Mi respuesta se basa en el sistema de archivos de Linux. Básicamente, mySQL almacena datos en archivos en su disco duro. Almacena los archivos en un directorio específico que tiene la variable de sistema "datadir". Abriendo un mysql consola y ejecutar el siguiente comando le dirá exactamente dónde se encuentra la carpeta.

mysql>  SHOW VARIABLES LIKE 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.01 sec)

Como puede ver en el comando anterior, mi "datadir" estaba ubicado en /var/lib/mysql/ . La ubicación del "datadir" puede variar en diferentes sistemas. El directorio contiene carpetas y algunos archivos de configuración. Cada carpeta representa una base de datos mysql y contiene archivos con datos para esa base de datos específica. a continuación se muestra una captura de pantalla del directorio "datadir" en mi sistema.

Cada carpeta en el directorio representa una base de datos MySQL. Cada carpeta de base de datos contiene archivos que representan las tablas de esa base de datos. Hay dos archivos para cada tabla, uno con un .frm extensión y la otra con un .idb extensión. Vea la captura de pantalla a continuación.

El .frm El archivo de tabla almacena el formato de la tabla. Detalles:Formato de archivo MySQL .frm

El .ibd El archivo almacena los datos de la tabla. Detalles:InnoDB File-Per-Table Tablespaces

Eso es todo amigos! Espero haber ayudado a alguien.