Je commence à utiliser l'outil MySQL Workbench en particulier pour la modélisation de données. Donc, le premier que je voudrais faire est la rétro-ingénierie de ma base de données existante sur le serveur Web. Mais je n'ai pas pu terminer le processus, car je reçois toujours ce message d'erreur étrange:
Error: Cannot load from mysql.proc. The table is probably corrupted
J'ai essayé de réparer cette table mais cela ne m'a pas aidé. Alors, avez-vous une expérience avec ce problème et savez-vous comment le résoudre?
J'utilise MySQL version 5.5.9 sur MAC. J'ai résolu ce problème en exécutant:
mysql_upgrade -uroot -p
J'utilise MySQL via MAMP Pro, et la réponse de Kevin n'a pas fonctionné pour moi. Oui, je devais faire une mise à niveau mysql MAIS j'ai dû utiliser les commandes suivantes sur le terminal:
/Applications/MAMP/bin/repairMysql.sh
/Applications/MAMP/bin/upgradeMysql.sh
Cela a fonctionné pour moi. J'espère que cela peut être utile à quelqu'un d'autre ..
J'ai utilisé XAMPP dans CentOS et mis à niveau manuellement le XAMPP à l'exception du dossier de données existant. Avec le nouveau logiciel serveur de MySQL et les anciens fichiers de base de données, j'ai eu la même erreur.
J'ai fait avec cette solution et j'ai bien fonctionné:
cd /opt/lampp/bin
./mysql_upgrade -uroot -p
Il a parcouru presque toutes les tables du système, mais s'est terminé par un problème fixe.
Sous Windows, avec XAMPP j'ai réussi à résoudre le problème en allant dans le répertoire:
C:\xampp\mysql\bin
et en exécutant l'exécutable mysql_upgrade.exe
vous trouverez à l'intérieur, assurez-vous que votre serveur mysql fonctionne.
Si cela se produit sur une requête spécifique, sachez que cela peut également se produire lorsque vous essayez d'utiliser une fonction non définie.
J'utilise MAMP sur mac et je n'ai pas réussi à mettre à niveau mes bases de données via la ligne de commande comme suggéré ci-dessus, mais cela a fonctionné lorsque j'ai utilisé les options du menu MAMP PRO-> TOOLS (en haut de l'écran OS X) pour 'Vérifier', 'Réparer' et 'Mettre à niveau "bases de données.
Je suppose que l'interface graphique fournit aux outils CLI sous-jacents les options nécessaires, de sorte que vous n'avez pas à penser à ce que doivent être ces options (par opposition à l'exécution manuelle des outils CLI).
La mise à niveau de mon MAMP de cette manière (via les outils GUI de MAMP PRO) a fait que mon application (séparée) Oracle mysqlWorkbench 6.0 fonctionne très bien avec mes bases de données locales MAMP PRO 2.0.5 sur OS X 10.8.5 (Mountain Lion), ce que mysqlworkbench avait dit être corrompu auparavant (mais le phpmyadmin de MAMP a bien fonctionné sur eux alors qu'ils étaient "corrompus", curieusement). Maintenant, les outils mysqlWorkbench 6.0 et phpmyadmin de MAMP PRO sont tous deux satisfaits, tout comme moi.
J'utilise Centos 6.5 à des fins de serveur. Et Mysql Workbench pour le diagramme ERR. J'ai eu la même erreur. Les réponses ci-dessus n'ont pas fonctionné pour moi.
Cette réponse est basée sur la modification du type de données pour la colonne de commentaire. Et fonctionne comme un charme.
Connectez mysql depuis la console.
use mysql;
show create table mysql.proc;
Recherchez ensuite la colonne comment. Si son type de données est char, passez au texte.
Vous pouvez également utiliser n'importe quel autre interface graphique pour effectuer des modifications.
Cela devrait faire l'affaire:
mysql_upgrade -uroot -p --force
Vous devrez peut-être spécifier le chemin complet de la commande si mysql ce n'est pas dans le chemin de recherche du Shell.
Sur Debian 6, il devrait être chargé avec:
/usr/bin/mysql_upgrade -uroot -p --force
Sur le MAMP de Mac, le chemin par défaut est:
/Applications/MAMP/Library/bin/mysql_upgrade -uroot -p --force
Sous Windows, ce sera l'endroit où MySQL est installé et contenu dans le sous-répertoire bin. Par défaut, il doit être situé à:
"C:\Program Files\MySQL\MySQL Server\[*CHANGE TO MySQL SERVER*]\bin\mysqladmin" -u root shutdown
Ressource d'origine: Comment résoudre le code d'erreur MySQL: 1548 Impossible de charger depuis mysql.proc. La table est probablement corrompue
Cela se produit probablement lorsque les changements de schéma ont nécessité différentes versions du serveur mysql.
Pour résoudre ce problème, suivez la ligne de codes ci-dessous:
mysql_upgrade -uroot -p --force
/usr/bin/mysql_upgrade -uroot -p --force
Les détails complets de la publication se trouvent ici: Impossible de charger depuis mysql.proc. Le tableau est probablement corromp
sur debian 6, MySQL 5.1.73-1 (Debian), j'ai eu le même problème, et un démarrage et un arrêt m'ont aidé.
/etc/init.d/mysql stop
/etc/init.d/mysql start
je ne sais pas trop ce qui se passe, mais le problème semble disparaître après ce stop stop and start, je voulais juste l'ajouter ici, au cas où d'autres auraient le même problème.
J'ai eu exactement la même erreur, et la solution était juste stupide, je recommande donc de chercher des réponses simples avant de commencer à mettre à niveau les choses. Dans mon cas particulier, le problème était que j'ai fait:
COUNT (id) AS quantity ... # Fails: notice space between COUNT and (
où il faut lire
COUNT(id) AS quantity ... # Works: notice no space between COUNT and (
Cela se produit lorsque vous n'utilisez pas de framework, vous pouvez (devriez) faire quelque chose comme ça, dans ce cas avec in Laravel 5:
$users = DB::table('users')->count();
Wow, je viens d'aller dans C:\xampp\mysql\bin et d'exécuter mysql_upgrade.exe
Il se répare et maintenant tout fonctionne très bien.
En utilisant MAMP PRO (version 2.2), j'ai essayé la suggestion de pmking et je n'arrivais toujours à rien. J'ai donc édité les deux fichiers: /Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh
changer "proot" en "p" dans chacun. Cela crée une invite pour le mot de passe racine MySQL et cela a fonctionné!
J'espère que cela aide quelqu'un d'autre.
si vous êtes basé sur Unix (comme Ubuntu), vous pouvez essayer ceci:
Sudo ./mysql_upgrade -uroot -p
comme l'a suggéré Bimal.
J'ai eu cette erreur, quand j'ai eu une erreur de syntaxe dans ma requête SQL dans une jointure.
J'ai fait
JOIN shops ON s (...)
au lieu de la bonne
JOIN shops s ON (...)
Cette erreur était vraiment déroutante, je ne sais pas ce que cela a à voir avec mysql.proc, mais la correction de la requête a résolu le problème. Aucune des solutions ci-dessus n'a fonctionné pour des raisons évidentes.
Cela se produit en raison des modifications de schéma requises pour différentes versions de serveur.
mysql_upgrade -uroot -p
résoudra le problème.
Parfois, vous devez désinstaller le serveur et nettoyer son répertoire de données. Et réinstallez pour faire une nouvelle copie des fichiers de données.