Bases de Datos

Page 283

 FUOC • 71Z799014MO

53

Bases de datos en MySQL

Para obtener información del significado del error 145, usaremos la utilidad en línea de comandos perror:

$ perror 145 145 = Table was marked as crashed and should be repaired

Después de un mensaje como el anterior, es el momento de realizar una verificación de la integridad de la tabla para obtener el reporte.

mysql> check table precios extended; +-------------+------+----------+--------------------------------------+ | Table | Op | Msg_type | Msg_text | +-------------+------+----------+--------------------------------------+ |demo.precios |check | error |Size of datafile is:450 Should be:452 | |demo.precios |check | error | Corrupt | +-------------+------+----------+--------------------------------------+ 2 rows in set (0.00 sec)

En este caso localizamos dos errores en la tabla. La opción extended es uno de los cinco niveles de comprobación que se pueden solicitar para verificar una tabla. Tipos de verificación Tipo

Significado

quick

No revisa las filas en busca de referencias incorrectas.

fast

Solamente verifica las tablas que no fueron cerradas adecuadamente.

changed

Verifica sólo las tablas modificadas desde la última verificación o que no se han cerrado apropiadamente.

medium

Revisa las filas para verificar que los ligados borrados son correctos, verifica las sumas de comprobación de las filas.

extended

Realiza una búsqueda completa en todas las claves de cada columna. Garantiza el 100% de la integridad de la tabla.

La sentencia repair table realiza la reparación de tablas tipo MyISAM corruptas:

mysql> repair table precios; +-------------+------+---------+--------------------------------------+ | Table | Op | Msg_type| Msg_text | +-------------+------+---------+--------------------------------------+ |demo.precios |repair| info | Wrong bytesec: 0-17-1 at 168;Skipped | |demo.precios |repair| warning | Number of rows changed from 20 to 7 | |demo.precios |repair| status | OK | +-------------+-------+--------+--------------------------------------+ 3 rows in set (0.04 sec)

El segundo mensaje informa de la pérdida de 13 filas durante el proceso de reparación. Esto significa, como es natural, que el comando repair table es útil sólo en casos de extrema necesidad, ya que no garantiza la recuperación total de la información. En la práctica, siempre es mejor realizar la restauración de la información utilizando las copias de seguridad. En caso de desastre, se debe conocer el motivo que origina la corrupción de las tablas y tomar las medidas adecuadas para evitarlo. En lo que respecta a la estabilidad de MySQL, se puede confiar en que muy probablemente nunca será necesario utilizar el comando repair table.


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.