Thursday, June 6, 2013

MySQL Tabla de comprobación

Original post: http://anothermysqldba.blogspot.com/2013/06/mysql-check-table.html

El comando Check tablas MySQL es muy útil para cualquier persona que quiera hacer lo siguiente:
  • Comprobación de compatibilidad de versiones
  • Comprobación de coherencia de datos
  • Actualizaciones
  • Errores de la tabla general
El proceso es bastante simple:

> show tables;
+-----------------+
| Tables_in_world |
+-----------------+
| City |
| Country |
| CountryLanguage |
+-----------------+

> check table City\G
*************************** 1. row ***************************
Table: world.City
Op: check
Msg_type: status
Msg_text: OK


Esta es una buena tarea para mantenerte actualizado sobre lo que son conscientes de los posibles errores. Un posible problema es que esta herramienta realmente se centra en MyISAM y InnoDB no. Si lo usa para InnoDB, el comando "mesa Check" en realidad sólo se aplica cuando se agrega la opción RÁPIDA (o sin opciones). Las opciones de FAST, cambiado, mediana y larga están ignorados por InnoDB. Ahora, si usted se está preguntando, ¿qué pasa con InnoDB? ¿Por qué ignorar MySQL consistencia de datos en el motor InnoDB? Tome una respiración profunda y relajarse, InnoDB se queja ACID , ACID es " un pie acrónimo de atomicidad, coherencia, aislamiento y durabilidad. " Así que no ignore comprobar tablas InnoDB porque todavía puede proporcionar alguna información o la confirmación en sus mesas. Tenga en cuenta que si una tabla InnoDB era estar dañado el servidor se apagará para proteger los datos. Usted acaba de obtener más por tu dinero con tablas MyISAM y esta herramienta.

Esperemos que se obtiene una respuesta de "OK" o "tabla ya está al día" en caso contrario es necesario ejecutar una mesa de reparación para arreglar la mesa.

¿Cuáles son las opciones disponibles para nosotros, así que usted puede hacer esto a menudo y fácilmente.
El enlace siguiente documentación también le proporcionará con varias comunidades impulsada opciones automáticas. Usted puede crear un script que el proceso y mostrar fácilmente las tablas a continuación, realizar controles mediante tablas de todos los resultados. Simplemente parece más fácil para mí, aunque para utilizar las herramientas proporcionadas para usted.


$ mysqlcheck -u root -p --databases world --fast
Enter password:
world.City OK
world.Country OK
world.CountryLanguage OK

$mysqlcheck -u root -p --databases world --fast --check-only-changed
Enter password:
world.City OK
world.Country OK
world.CountryLanguage OK

Ahora bien, esto es simple y directo, pero también se presta a otra pregunta, ¿Qué pasa con la contraseña?

En caso de que crear un usuario sin contraseña que se le permite comprobar las tablas sólo para que usted no tiene que poner una contraseña en su script o tarea programada? Usted quiere evitar tener la contraseña sentados en los archivos. Mysql_history también. Así que una vez más tomar ventaja de las herramientas disponibles para usted. MySQL 5.6 introduce la Utilidad de configuración de MySQL . Tengo un ejemplo de cómo configurarlo en un blog anterior:
http://anothermysqldba.blogspot.com/2013/05/mysql-users-grants-mysqlconfigeditor.html

mysqlcheck --login-path=local --databases world --fast --check-only-changed
world.City OK
world.Country OK
world.CountryLanguage OK

$ Mysqlcheck - help proporcionará una lista completa de opciones disponibles para usted.
Ahora, usted puede comprobar todas las tablas, mantener sus contraseñas del archivo crontab y / o scripts.

Documentación: