ASIX-M10-UF2. MySQL III. Implementació física en un SGBD: arxius de dades, diccionari de dades, índexs i altres arxius auxiliars.

De wikijoan
Salta a la navegació Salta a la cerca

Base de dades de codis postals

En la segona pràctica vam estat treballant amb els codis postals de l'Estat espanyol.

Hi havia tres versions de la base de dades: txt, XML i mysql. Ara és el moment de poder utilitzar els fitxers de la versió per a mysql, i podrem fer una restauració (recovery) de la base de dades a partir dels fitxers. Si mirem la carpeta, veiem que hi ha tres tipus d'arxius.

.frm:- table definition
.MYD:-table data
.MYI:-table indices

El primer que farem és aturar el mysql:

$ sudo /etc/init.d/mysql stop

On estan els datafiles al mysql? A /etc/mysql hi ha el fitxer de configuració, my.cnf. Si l'editem, veurem en les primeres línies els directoris importants. Concretament:

...
datadir         = /var/lib/mysql
...

Si anem a aquest directori (com a root), veurem que en aquest directori hi ha una carpeta per cada base de dades. I dins de cada carpeta, hi ha com a mínim un arxiu .frm per cada definició de taula.

Per tant, crearem la carpeta cp/, i copiarem tots els nostres arxius a aquesta carpeta.

 
# mkdir cp
# chown mysql:mysql cp/
# cp /home/joan/M10_UF2_1415/PR2_XML_JSON/cp_mysql/* ./cp
# chown mysql:mysql -R cp/

Ja podem tornar a arrencar el mysql, i veiem com podem accedir a la base de dades dels codis postals:

$ sudo /etc/init.d/mysql start
$ mysql -u root -p

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
...
| cp                 |
...

mysql> use cp
Database changed

mysql> show tables;
+--------------+
| Tables_in_cp |
+--------------+
| t_calles     |
| t_municipios |
| t_provincias |
+--------------+

mysql> select * from t_provincias;
+---------+--------------+
| CodProv | Provincia    |
+---------+--------------+
| 01      | Alava        |
| 02      | Albacete     |
| 03      | Alicante     |
...

Per tant, aquesta és una manera senzilla i pràctica de fer còpies de seguretat de bases de dades mysql.


creat per Joan Quintana Compte, setembre 2018