Maison >base de données >tutoriel mysql >Comment utiliser Mysqlcheck pour vérifier et réparer, explication détaillée de l'optimisation des tables

Comment utiliser Mysqlcheck pour vérifier et réparer, explication détaillée de l'optimisation des tables

黄舟
黄舟original
2017-03-20 14:00:523021parcourir


mysqlcheck est un outil fourni avec MySQL. Sa fonction est de vérifier, analyser, réparer et optimiser la table 保养. Ce qui suit est une introduction à l'utilisation simple de l'outil mysqlcheck. Le document officiel est ici

Les exemples suivants sont basés sur l'état d'exécution de la version MySQL 5.6 (mysqlcheck est un outil en ligne différent). les moteurs de stockage prennent en charge cette commande. Le degré est différent (faisant référence à vérifier, réparer, analyser, optimiser). Le contenu suivant est plus opérationnel, principalement basé sur le moteur innodb.

Astuce : OPTIMIZE peut prendre beaucoup de temps lorsque vous travaillez avec de grandes tables. Veuillez l'utiliser avec prudence si vous ne connaissez pas le principe !!! OPTIMIZE n'est généralement pas utilisé dans innodb, veuillez vous référer à Utilisation de MySQL. OPTIMISER les tables ? Pour InnoDB ? Arrêter

Vérifier une table spécifique

Notez qu'elle est exécutée dans le shell, pas dans l'environnement interactif de mysql

Si l'application le demande une table est cassée, utilisez la commande suivante pour vérifier.

$ mysqlcheck -c newmandela order -uroot -pEnter password:
newmandela.order                                   
OK

newmandela est le nom de la bibliothèque, order est le nom de la table, vous devez également saisir le nom d'utilisateur et le mot de passe

Vérifier toutes les tables d'une bibliothèque

$ mysqlcheck -c newmandela -uroot -p
Enter password:
newmandela.account                                 OK
newmandela.alarm                                   OK
newmandela.alarm_settings                          OK
newmandela.auth_group                              OK
newmandela.auth_group_permissions                  OK
newmandela.auth_permission                         OK...

Vérifier toutes les bibliothèques Toutes les tables de

Toutes les bibliothèques et tables ont été vérifiées.

$mysqlcheck -c --all-databases -uroot -p
Enter password:
apmonitor.acinfo                                   OK
apmonitor.apdailysts                               OK
apmonitor.apinfo                                   OK
apmonitor.apmonthsts                               OK
apmonitor.apscanlog                                OK
apmonitor.auth_group                               OK...

Et si vous souhaitez vérifier uniquement certaines bibliothèques ? Vous pouvez utiliser le paramètre –databases

$ mysqlcheck -c --databases newmandela radius -uroot -p
Enter password:
newmandela.account                                 OK
newmandela.alarm                                   OK
newmandela.alarm_settings                          OK
newmandela.auth_group                              OK...

Utiliser mysqlcheck pour analyser la table

$ mysqlcheck -a radius payment_transactionrecord  -uroot -pEnter password:
radius.payment_transactionrecord                   Table is already up to date

Utilisez la commande ci-dessus Pour analyser la payment_transactionrecord table de la bibliothèque radius, -a signifie analyser

Utiliser mysqlcheck pour optimiser la table

# mysqlcheck -o radius payment_transactionrecord  -uroot -pEnter password:
radius.payment_transactionrecord                   OK

-o signifie optimiser, voici la payment_transactionrecord table de la bibliothèque radius qui est optimisée

Utilisez mysqlcheck pour réparer la table

# mysqlcheck -r radius payment_transactionrecord  -uroot -pEnter password:
radius.payment_transactionrecord                   OK

-r signifie réparation, voici la payment_transactionrecord table pour réparer la bibliothèque radius

Vérifier, optimiser et réparer les commandes de combinaison de tables

# mysqlcheck -uroot -p --auto-repair -c -o newmandelaError:  mysqlcheck doesn't support multiple contradicting commands.

La commande ci-dessus a signalé une erreur Supprimer -c

# mysqlcheck -uroot -p --auto-repair -o newmandelaEnter password:
newmandela.account
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
newmandela.alarm
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
newmandela.alarm_settings
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK

et Table does not support optimize, doing recreate analyze instead. apparaît dans chaque tableau. Qu'est-ce que cela signifie ? Cela ne signifie pas que le moteur innodb ne prend pas en charge l'optimisation

options communes de mysqlcheck

  • A, –all-databases signifie toutes les bibliothèques

  • <.>

    Analyser le tableau-a, –analyze

  • Optimiser le tableau-o, –optimize

  • Corriger les erreurs du tableau-r, –repair

  • Vérifiez la table pour les erreurs-c, –check

  • Réparez automatiquement les tables endommagées–auto-repair

  • Sélectionnez plusieurs bibliothèques-B, –databases

  • Utilisez une requête par base de données avec des tables répertoriées séparées par des virgules-1, –all-in-1

  • Vérifiez les modifications depuis la dernière vérification de la table-C, –check-only-changed

  • Vérifiez les modifications dépendant de la version dans les tables-g, –check-upgrade

  • Vérifiez les tables qui ne sont pas fermées correctement-F, –fast

  • Corriger les noms de bases de données–fix-db-names

  • Corriger les noms de tables–fix-table-names

  • Continuer même lorsqu'il y a une erreur-f, –force

  • Effectuer une vérification étendue sur une table Cela prendra beaucoup de temps à s'exécuter.-e, –extended

  • Plus rapide que l'option de vérification étendue, mais effectue la plupart des vérifications

    -m, –medium-check

  • Plus rapide que l'option de vérification moyenne

    -q, –quick

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn