06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

© FUOC • 71Z799014MO 52 <strong>Bases</strong> <strong>de</strong> <strong>datos</strong> en MySQL<br />

Es importante restaurar también el dueño y el grupo <strong>de</strong> los archivos <strong>de</strong> <strong>datos</strong>,<br />

para tener los accesos correctamente establecidos. En este ejemplo se adopta<br />

el supuesto que el usuario mysql es el que ejecuta el servidor mysqld.<br />

La restauración <strong>de</strong> un archivo SQL obtenido con mysqldump, se realiza <strong>de</strong>s<strong>de</strong><br />

el cliente mysql, la base <strong>de</strong> <strong>datos</strong> <strong>de</strong>be existir, ya que el archivo <strong>de</strong>mo.sql no la<br />

crea por <strong>de</strong>fecto.<br />

$ mysql <strong>de</strong>mo -u root -p < <strong>de</strong>mo.sql<br />

5.4. Reparación <strong>de</strong> tablas<br />

En <strong>de</strong>terminadas circunstancias <strong>de</strong> uso muy frecuente, como la inserción y borrado<br />

masivos <strong>de</strong> <strong>datos</strong>, coincidiendo con bloqueos <strong>de</strong>l sistema o llenado <strong>de</strong>l<br />

espacio en disco u otras circunstancias, es posible que una tabla o algunos <strong>de</strong><br />

sus índices se corrompan.<br />

Po<strong>de</strong>mos consultar el estado <strong>de</strong> integridad <strong>de</strong> una tabla con el comando check<br />

table, que realiza algunas verificaciones sobre la tabla en busca <strong>de</strong> errores y<br />

nos entrega un informe con las siguientes columnas <strong>de</strong> información:<br />

mysql> check table precios;<br />

+--------------+-------+----------+----------+<br />

| Table | Op | Msg_type | Msg_text |<br />

+--------------+-------+----------+----------+<br />

| <strong>de</strong>mo.precios | check | status | OK |<br />

+--------------+-------+----------+----------+<br />

1 row in set (0.03 sec)<br />

La columna Op <strong>de</strong>scribe la operación que se realiza sobre la tabla. Para el comando check<br />

table esta columna siempre tiene el valor check porque ésa es la operación que se realiza.<br />

La columna Msg_type pu<strong>de</strong> contener uno <strong>de</strong> los valores status, error, info, o warning. Y la<br />

columna Msg_text es el texto que reporta <strong>de</strong> alguna situación encontrada en la tabla.<br />

Es posible que la información entregada incluya varias filas con diversos mensajes,<br />

pero el último mensaje siempre <strong>de</strong>be ser el mensaje OK <strong>de</strong> tipo status.<br />

En otras ocasiones check table no realizará la verificación <strong>de</strong> tabla, en su lugar<br />

entregará como resultado el mensaje Table is already up to date, que significa<br />

que el gestor <strong>de</strong> la tabla indica que no hay necesidad <strong>de</strong> revisarla.<br />

MySQL no permite realizar consultas sobre una tabla dañada y enviará un<br />

mensaje <strong>de</strong> error sin <strong>de</strong>splegar resultados parciales:<br />

mysql> select * from precios;<br />

ERROR 1016: No puedo abrir archivo: ’precios.MYD’. (Error: 145)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!