web-dev-qa-db-fra.com

Problème mysql lors de la création d'un nouvel utilisateur

( SELECT DISTINCT User
                , Host 
             FROM mysql.user 
) UNION 
( SELECT DISTINCT User
                , Host
             FROM mysql.db 
) UNION 
( SELECT DISTINCT User 
                , Host 
             FROM mysql.tables_priv 
) UNION 
( SELECT DISTINCT User
                , Host 
             FROM mysql.columns_priv 
) UNION 
( SELECT DISTINCT User
                , Host 
             FROM mysql.procs_priv 
) ORDER 
     BY User ASC
      , Host ASC

Mysql said:
`#1030 - Got error 176 "Read page with wrong checksum" from storage engine Aria`

[Error here][1]


  [1]: https://i.stack.imgur.com/PysWf.png
3
mr.demented

J'ai également rencontré le problème "Erreur: mysqlcheck ne prend pas en charge plusieurs commandes contradictoires" en utilisant la commande suivante

mysqlcheck -u root -p --auto-repair -c -o --all-databases

Ce que j'ai fait, et parce que je suis paresseux lol, j'ai tout exécuté séparément et utilisé le -r pour la réparation au lieu de --auto-repair

mysqlcheck -u root -p -r --all-databases
mysqlcheck -u root -p -c --all-databases
mysqlcheck -u root -p -o --all-databases
2
Vlash

Je ne sais pas vraiment si la cause du problème est la même, mais j'ai résolu ce problème avec mysqlcheck. Courir

mysqlcheck -c  -u root -p --all-databases

dans le terminal (après avoir exécuté ceci, vous serez invité à saisir le mot de passe root si vous l'avez défini).

En exécutant cela et en parcourant la sortie, j'ai trouvé que le problème était avec tables_priv table dans la base de données mysql. Je l'ai donc réparé en utilisant le -r drapeau de mysqlcheck.

mysqlcheck -r mysql tables_priv -u root -p

(encore une fois, il vous demandera un mot de passe, entrez-le). Et cela l'a corrigé. Je ne connais pas vraiment la cause du problème, mais j'espère que cela peut aider toute autre personne confrontée au même problème.

Vous pouvez également exécuter

mysqlcheck -u root -p --auto-repair -c -o --all-databases

pour corriger automatiquement toutes les tables corrompues sans avoir besoin de trouver laquelle est corrompue (je ne sais pas si cela affectera négativement l'une de vos autres tables, essayez donc la première option et essayez-la si vous échouez).

Vous pouvez obtenir plus d'informations sur mysqlcheck à partir de ici

1
Arun A S