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
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
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
$ 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...
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...
$ 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
# 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
# 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
# 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
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
-m, –medium-check
-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!