El motor de almacenamiento utilizado por MySQL/MariaDB hasta su versión 5.5 es MyISAM, en versiones posteriores se incorpora InnoDB.
A modo de resumen breve, dada la popularidad en entornos web en los que las consultas de lectura (SELECT) predominan sobre las de escritura (INSERT/UPDATE) sigue siendo una de las opciones más utilizadas en entornos en los que prima: velocidad, sin bloqueo de registros o tablas, sin características ACID (Atomicity, Consistency, Isolation, Durability) internas, recursos hardware limitados…
Cada una de las bases de datos generadas en su directorio contiene 3 ficheros por cada tabla con extensiones:
- FRM: definición de la esctructura de la tabla
- MYD: datos almacenados
- MYI: índices
Podemos copiar desde entornos linux a windows y viceversa, con la consideración de dar los permisos suficientes de acceso sobre los ficheros.
- En Windows: C:\ProgramData\MySQL\MySQL Server 5.X\data
- En Linux: /var/lib/mysql/
Puedes conocer el directorio de datos realizando consulta en las variables globales:
mysql -s -N -uUSER -p information_schema -e 'SELECT Variable_Value FROM GLOBAL_VARIABLES WHERE Variable_Name = "datadir"'
O realizando la consulta sobre la variable directamente:
select @@datadir;
Una vez localizado los directorios, debemos parar el servicio MySQL, copiar la carpeta completa de nuestra base de datos en el directorio y asignar los permisos de acceso.
Los índices puedes ser regenerados o reparados mediante sentencias posteriormente:
check table nombreTabla; repair table nombreTabla