GNU/Linux >> Tutoriels Linux >  >> Linux

Vérifier la base de données pour la corruption

Cet article explique comment vérifier si votre base de données est corrompue dans MySQL®. Pourquoi la corruption se produit-elle dans une base de données ? Cela peut se produire à cause du matériel, en particulier des pannes de disque ou lorsqu'un disque est plein.

Symptômes

Le symptôme principal :vous essayez de vous connecter et obtenez un message d'erreur dans la console :Remplacement de session :la table './DB_NAME/mdl_sessions2' est marquée comme écrasée et doit être réparée .

Solutions

Vous pouvez vérifier et réparer ce problème en utilisant le mysqlcheck commande avec le --auto-repair DBNAME drapeau. Lorsque vous ajoutez le --auto-repair flag, MySQL essaie de réparer la corruption dans votre base de données.

# mysqlcheck -u USER_NAME -p --auto-repair DB_NAME
Enter password:
db_test.adodb_logsql                      OK
db_test.mdl_assignment                    OK
db_test.mdl_assignment_submissions        OK
...
db_test.mdl_log
error    : Table './db_test/mdl_log' is marked as crashed and should be repaired
...
db_test.mdl_sessions2
error    : Table './db_test/mdl_sessions2' is marked as crashed and should be repaired

Repairing tables
db_test_18_latest.mdl_log                           OK
db_test_18_latest.mdl_sessions2                     OK

Si vous voulez juste vérifier si votre base de données est corrompue ou non, lancez la commande suivante :

# mysqlcheck -c DATABASE_NAME  -u USER_NAME -p

Si vous souhaitez vérifier toutes les bases de données et tables de votre serveur, ajoutez le drapeau --all-databases et omettez le nom de la base de données, comme indiqué dans la commande suivante :

# mysqlcheck -c -u USER_NAME -p --all-databases

Si vous souhaitez simplement vérifier une table dans une base de données, exécutez la commande suivante :

# mysqlcheck -a DB_NAME TABLE_NAME -u USER_NAME -p

Conclusion

Avec les commandes présentées dans cet article, vous pouvez maintenant vérifier si votre base de données ou table MySQL est corrompue.


Linux
  1. Vérifier le processus si le même est en cours d'exécution ?

  2. Une doublure pour vérifier si le fichier existe ?

  3. Vérifier les fichiers de configuration Linux pour les erreurs de syntaxe

  4. Vérifier l'existence de wget/curl

  5. fsck :options pour une vérification de disque plus approfondie

Comment vérifier (scanner) les ports ouverts sous Linux

Comment vérifier les ports d'écoute sous Linux (ports utilisés)

Comment vérifier une base de données MySQL pour les erreurs dans cPanel

Aide-mémoire des commandes de base de données MySQL pour Linux

Comment vérifier les privilèges utilisateur MySQL sous Linux

Qu'est-ce qu'une base de données distribuée et à quoi servent les systèmes de données distribués ?