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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Para obtener información <strong>de</strong>l significado <strong>de</strong>l error 145, usaremos la utilidad en línea <strong>de</strong> comandos<br />

perror:<br />

$ perror 145<br />

145 = Table was marked as crashed and should be repaired<br />

Después <strong>de</strong> un mensaje como el anterior, es el momento <strong>de</strong> realizar una verificación<br />

<strong>de</strong> la integridad <strong>de</strong> la tabla para obtener el reporte.<br />

mysql> check table precios exten<strong>de</strong>d;<br />

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

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

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

|<strong>de</strong>mo.precios |check | error |Size of datafile is:450 Should be:452 |<br />

|<strong>de</strong>mo.precios |check | error | Corrupt |<br />

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

2 rows in set (0.00 sec)<br />

En este caso localizamos dos errores en la tabla. La opción exten<strong>de</strong>d es uno <strong>de</strong> los cinco niveles<br />

<strong>de</strong> comprobación que se pue<strong>de</strong>n solicitar para verificar una tabla.<br />

Tipos <strong>de</strong> verificación<br />

Tipo<br />

quick<br />

fast<br />

changed<br />

medium<br />

exten<strong>de</strong>d<br />

Significado<br />

No revisa las filas en busca <strong>de</strong> referencias incorrectas.<br />

Solamente verifica las tablas que no fueron cerradas a<strong>de</strong>cuadamente.<br />

Verifica sólo las tablas modificadas <strong>de</strong>s<strong>de</strong> la última verificación o que no se han<br />

cerrado apropiadamente.<br />

Revisa las filas para verificar que los ligados borrados son correctos, verifica<br />

las sumas <strong>de</strong> comprobación <strong>de</strong> las filas.<br />

Realiza una búsqueda completa en todas las claves <strong>de</strong> cada columna.<br />

Garantiza el 100% <strong>de</strong> la integridad <strong>de</strong> la tabla.<br />

La sentencia repair table realiza la reparación <strong>de</strong> tablas tipo MyISAM corruptas:<br />

mysql> repair table precios;<br />

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

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

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

|<strong>de</strong>mo.precios |repair| info | Wrong bytesec: 0-17-1 at 168;Skipped |<br />

|<strong>de</strong>mo.precios |repair| warning | Number of rows changed from 20 to 7 |<br />

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

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

3 rows in set (0.04 sec)<br />

El segundo mensaje informa <strong>de</strong> la pérdida <strong>de</strong> 13 filas durante el proceso <strong>de</strong> reparación.<br />

Esto significa, como es natural, que el comando repair table es útil sólo<br />

en casos <strong>de</strong> extrema necesidad, ya que no garantiza la recuperación total <strong>de</strong> la información.<br />

En la práctica, siempre es mejor realizar la restauración <strong>de</strong> la información<br />

utilizando las copias <strong>de</strong> seguridad. En caso <strong>de</strong> <strong>de</strong>sastre, se <strong>de</strong>be conocer el<br />

motivo que origina la corrupción <strong>de</strong> las tablas y tomar las medidas a<strong>de</strong>cuadas para<br />

evitarlo. En lo que respecta a la estabilidad <strong>de</strong> MySQL, se pue<strong>de</strong> confiar en que<br />

muy probablemente nunca será necesario utilizar el comando repair table.

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

Saved successfully!

Ooh no, something went wrong!