MySQL Workbench ne peut pas charger mysql.proc
Je commence à utiliser L'outil MySQL Workbench en particulier pour la modélisation de données. Donc, le premier que je voudrais faire est l'ingénierie inverse de ma base de données existante sur le serveur web. Mais je ne peux pas 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 ça ne m'aide pas. Donc, vous avez une expérience avec ce problème et sait comment le résoudre?
16 réponses
J'utilise MySQL version 5.5.9 sur MAC. J'ai corrigé ce problème en exécutant:
mysql_upgrade -uroot -p
J'utilise MySQL à travers MAMP Pro, et la réponse de Kevin n'a pas fonctionné pour moi. Oui, je devais faire un 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 à jour 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 a bien fonctionné:
cd /opt/lampp/bin
./mysql_upgrade -uroot -p
Il a bouclé presque toutes les tables du système, mais s'est terminé par un problème résolu.
Sous windows, avec XAMPP, j'ai réussi à résoudre le problème en allant dans le répertoire:
C:\xampp\mysql\bin
et de lancer l'exécutable mysql_upgrade.exe
, vous trouverez à l'intérieur, assurez-vous que votre serveur mysql est en cours d'exécution.
J'utilise MAMP sur mac et j'ai échoué à 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' les bases de données.
Je suppose que l'interface graphique fournit les outils CLI sous-jacents avec les options nécessaires, de sorte que vous n'avez pas à penser à ce que ces options doivent être (par opposition à l'exécution manuelle des outils CLI).
Mettre à niveau mon MAMP de cette façon (via L'interface graphique de MAMP PRO Outils) a fait fonctionner mon application Oracle mysqlWorkbench 6.0 (séparée) avec mes bases de données MAMP PRO 2.0.5 locales sur OS X 10.8.5 (Mountain Lion), que mysqlworkbench avait dit être corrompue auparavant (mais phpMyAdmin de MAMP fonctionnait bien sur eux alors qu'ils étaient "corrompus", curieusement). Maintenant, mysqlWorkbench 6.0 et les outils phpMyAdmin de MAMP PRO sont tous deux heureux, et moi aussi.
J'utilise Centos 6.5 à des fins de serveur. Et Mysql Workbench pour Err Diagramme. J'ai eu le même message d'erreur. Les réponses ci-dessus ne fonctionnaient pas 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;
, Puis recherchez commentaire colonne. Si le type de données est char, passez au texte.
Vous pouvez également utiliser n'importe quelle autre interface graphique pour effectuer des modifications.
Si cela se produit sur une requête spécifique, être conscient que cela peut également se produire lorsque vous essayez d'utiliser une fonction non définie.
Cela se produit en raison des modifications de schéma requises pour différentes versions de serveur.
mysql_upgrade -uroot -p
Va filx le problème.
Parfois, vous devez désinstaller le serveur et nettoyer son répertoire de données. Et réinstaller pour faire une nouvelle copie des fichiers de données.
En utilisant MAMP PRO (version 2.2), j'ai essayé la suggestion de pmking et je n'allais toujours nulle part. J'ai donc édité les deux fichiers: /Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh
Changer 'proot' en ' p ' dans chaque. Cela crée une invite pour le mot de passe root MySQL et cela a fonctionné!
J'espère que cela aide quelqu'un d'autre.
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 ce qui se passe, mais le problème semble disparaître après ce quit stop and start, je voulais juste l'ajouter ici, au cas où d'autres auraient le même problème.
J'ai eu cette erreur, quand j'ai eu une erreur de syntaxe dans ma requête SQL dans une jointure.
Je l'ai fait
JOIN shops ON s (...)
Au lieu du bon
JOIN shops s ON (...)
Cette erreur était vraiment déroutante, Je ne sais pas ce que cela a à voir avec mysql.proc, mais la fixation 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 probablement lorsque les changements de schéma nécessitent 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 du post trouveront ici: impossible de charger à partir de mysql.proc. La table est probablement corrompue
Si vous êtes basé sur Unix (comme Ubuntu), vous pouvez essayer ceci:
sudo ./mysql_upgrade -uroot -p
Comme Bimal suggéré.
J'ai eu exactement la même erreur, et la solution était juste stupide, donc je recommande de chercher des réponses simples avant de commencer à mettre à niveau des choses. Dans mon cas particulier, le problème était que je l'ai fait:
COUNT (id) AS quantity ... # Fails: notice space between COUNT and (
Où 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 ceci, dans ce cas avec in Laravel 5:
$users = DB::table('users')->count();
Wow, je vais juste à C:\xampp\mysql\bin et exécutez mysql_upgrade.exe
Il se répare et maintenant everithing fonctionne très bien.
Cela devrait faire l'affaire:
mysql_upgrade -uroot -p --force
Vous devrez peut-être spécifier le chemin complet de la commande simysql 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 originale: comment Résoudre le code D'erreur MySQL: 1548 impossible de charger à partir de mysql.proc. La table est probablement corrompue