Home Page

Tips page
c
cellulari
debian
egittologia
emacs
emacs-latex
hardware
html
inglese
java
latex
linux
matlab
misc
mysql

*Check delle tabelle e recover da un crash
*Check dello stato del mysql server
*Comandi utili da sapere utilizzando MySQL
*Connettersi a MySQL da remoto
*Import ed export/backup di un database
*Limit the number of rows returned
*Oracle rownum in MySQL
*Recupero della password di root di mysql

network
octave
programming
python
security
sed
tech
webapps
windows

University Page

Programming

Debian & Linux

Some works

About me

Del.icio.us Bookmarks

BOINC Combined Statistics

Site Statistics

Contact me sending an e-mail (antispam defense activated)

debian

hacker emblem

blogger

GeoURL

View Sandro Tosi's profile on LinkedIn

This is my Google PageRank

Title: Check delle tabelle e recover da un crash
Author: Sandro Tosi
Last modified: 2007-08-26

In caso di arresto inatteso  del database server (per esempio a fronte
di un  crash del sistema),  e` possibile che alcune  tabelle risultino
danneggiate: e` quindi necessario controllarne lo stato ed effettuarne
il recover.


Per controllare lo status di una tabella, il comando da lanciare e`:

mysql> CHECK TABLE <table_name> EXTENDED;

Per esempio:

mysql> CHECK TABLE gare_bck EXTENDED;
+--------------------+-------+----------+----------+
| Table              | Op    | Msg_type | Msg_text |
+--------------------+-------+----------+----------+
| nuototest.gare_bck | check | status   | OK       |
+--------------------+-------+----------+----------+
1 row in set (0.15 sec)

E`  possibile omettere  il parametro  "EXTENDED", ma  meglio aspettare
qualche attimo in piu` e far verificare la tabella in dettaglio, no?

Se il risultato  non e` "OK", allora si deve  riparare la tabella, con
il comando:

mysql> REPAIR TABLE <table_name> EXTENDED;

(con  la stessa  indicazione  di prima  riguardo  ad "EXTENDED"),  per
esempio:

mysql> REPAIR TABLE gare_bck EXTENDED;
+--------------------+--------+----------+----------+
| Table              | Op     | Msg_type | Msg_text |
+--------------------+--------+----------+----------+
| nuototest.gare_bck | repair | status   | OK       |
+--------------------+--------+----------+----------+
1 row in set (0.12 sec)


Al  posto di  effettuare  queste operazioni  dal  client mysql,  viene
distribuita anche un'utility per effettuare il check (ed eventualmente
il repair) delle tabelle MyISAM: mysqlcheck.

Per controllare tutti i db sul database server:

  # mysqlcheck -u root -p --auto-repair --all-databases 

un esempio di job notturno di check (ed eventuale repair):

  # mysqlcheck -o --auto-repair -C -F -r -q -A

Ovviamente  maggiori  informazioni sono  disponibile  nella manpage  e
tramite lo switch "--help".

Un  altro tool,  ma  esclusivamente da  utilizzare  a database  server
spento e per tabelle MyISAM e` "myisamchk".