web-dev-qa-db-ja.com

MySQL Workbenchはmysql.procをロードできません

特にデータモデリングにMySQL Workbenchツールを使用し始めています。したがって、最初にやりたいことは、Webサーバー上の既存のデータベースのリバースエンジニアリングです。しかし、この奇妙なエラーメッセージが常に表示されるため、プロセスを完了できません。

Error: Cannot load from mysql.proc. The table is probably corrupted

このテーブルを修復しようとしましたが、助けにはなりません。それで、あなたはこの問題の経験があり、それを解決する方法を知っていますか?

48
Jakub Mach

MACでMySQLバージョン5.5.9を使用しています。次を実行してこの問題を修正しました。

mysql_upgrade -uroot -p
91
Kevin

私はMySQLトラフMAMP Proを使用していますが、ケビンの答えはうまくいきませんでした。はい、mysql upgradeを実行する必要がありましたが、ターミナルで次のコマンドを使用する必要がありました。

/Applications/MAMP/bin/repairMysql.sh
/Applications/MAMP/bin/upgradeMysql.sh

これは私のために働いた。これが他の誰かに役立つことを願っています。

11
pmking

CentOSでXAMPPを使用し、既存のデータフォルダーを除き、XAMPPを手動でアップグレードしました。 MySQLの新しいサーバーソフトウェアと古いデータベースファイルでは、同じエラーが発生しました。

私はこのソリューションを使い、うまくいきました:

cd /opt/lampp/bin
./mysql_upgrade -uroot -p

システム内のほぼすべてのテーブルをループしましたが、修正された問題で終了しました。

4
Bimal Poudel

Windowsでは、XAMPPを使用して、ディレクトリに移動して問題を修正できました。

C:\xampp\mysql\binおよび実行可能ファイルの実行mysql_upgrade.exe内部にあります。mysqlサーバーが実行されていることを確認してください。

2
pjcarly

これが特定のクエリで発生する場合、未定義の関数を使用しようとしたときにも発生する可能性があることに注意してください。

1
vivoconunxino

MacでMAMPを使用し、上記のようにコマンドライン経由でデータベースをアップグレードできませんでしたが、MAMP PRO-> TOOLSメニューオプション(OS X画面の上部)を使用して「チェック」、「修復」、「アップグレード」 'データベース。

GUIが基礎となるCLIツールに必要なオプションを提供するので、(CLIツールを手動で実行するのではなく)それらのオプションが何である必要があるかを考える必要はないと思います。

この方法で(MAMP PROのGUIツールを使用して)MAMPをアップグレードすると、(別個の)Oracle mysqlWorkbench 6.0アプリが、OS X 10.8.5(Mountain Lion)上のローカルMAMP PRO 2.0.5データベースでうまく動作しました。以前は破損していました(ただし、MAMPのphpmyadminは、不審なことに "破損"している間は正常に機能していました)。現在、mysqlWorkbench 6.0とMAMP PROのphpmyadminツールはどちらも満足しています。

1
user2962854

サーバー目的でCentos 6.5を使用しています。そして、ERR図用のMysql Workbench。同じエラーが発生しました。上記の回答はうまくいきませんでした。

この回答は、コメント列のデータ型の変更に基づいています。そして、魅力のように機能します。

コンソールからmysqlを接続します。

use mysql;
show create table mysql.proc;

次に、comment列を探します。データ型がcharの場合、テキストに変更します。

他のGUIを使用して変更を加えることもできます。

1
akikara

これはトリックを行う必要があります:

mysql_upgrade -uroot -p --force

mysqlがシェルの検索パスにない場合、コマンドのフルパスを指定する必要があります。

Debian 6では、以下をロードする必要があります。

/usr/bin/mysql_upgrade -uroot -p --force

MacのMAMPでは、デフォルトのパスは次のとおりです。

/Applications/MAMP/Library/bin/mysql_upgrade -uroot -p --force

Windowsでは、MySQLがインストールされ、binサブディレクトリに含まれます。デフォルトでは、次の場所にあります。

"C:\Program Files\MySQL\MySQL Server\[*CHANGE TO MySQL SERVER*]\bin\mysqladmin" -u root shutdown

元のリソース: MySQLエラーコードの解決方法:1548 mysql.procからロードできません。テーブルはおそらく破損しています

これはおそらく、スキーマの変更がmysqlサーバーの異なるバージョンを必要としたときに起こります。

これを修正するには、以下のコード行に従ってください。

mysql_upgrade -uroot -p --force

/usr/bin/mysql_upgrade -uroot -p --force

投稿の詳細は次のとおりです。 mysql.procからロードできません。テーブルはおそらく破損しています

0
Jur P

debian 6、MySQL 5.1.73-1(Debian)でも同じ問題が発生し、開始と停止が助けになりました。

/etc/init.d/mysql stop
/etc/init.d/mysql start

何が起こるかわからないが、この停止と開始をやめると問題は解消するようで、他の人が同じ問題を抱えている場合に備えて、ここに追加したかっただけです。

0
Sverre

私はまったく同じエラーがあり、解決策はただ愚かだったので、ものをアップグレードする前に簡単な答えを探すことをお勧めします。私の特定の場合、問題は私がやったことでした:

COUNT (id) AS quantity ... # Fails: notice space between COUNT and (

読むべき場所

COUNT(id) AS quantity ... # Works: notice no space between COUNT and (

これは、フレームワークを使用しない場合に発生します。この場合、 Laravel 5を使用すると、次のようなことができます(すべきです)。

$users = DB::table('users')->count();
0
aesede

うわー、私はただC:\ xampp\mysql\binに行き、mysql_upgrade.exeを実行します

それはそれ自体を修復し、今ではeverithingがうまく機能しています。

0
Erich García

MAMP PRO(バージョン2.2)を使用して、pmkingの提案を試みましたが、まだ何も得られませんでした。そこで、2つのファイルを編集しました:/Applications/MAMP/bin/repairMysql.sh /Applications/MAMP/bin/upgradeMysql.sh

それぞれで「proot」を「p」に変更します。これにより、MySQLルートパスワードのプロンプトが作成され、機能しました!

私はそれが他の誰かを助けることを願っています。

0
Aggelia

unixベース(Ubuntuなど)の場合は、これを試すことができます。

Sudo ./mysql_upgrade -uroot -p

bimalが提案したように。

0
giovaZ

結合のSQLクエリで構文エラーが発生したときに、このエラーが発生しました。

やった

JOIN shops ON s (...)

正しいのではなく

JOIN shops s ON (...)

このエラーは本当に混乱を招きました。mysql.procでこれが何をするのかわかりませんが、クエリを修正することで問題は解決しました。上記のソリューションはどれも明らかな理由で機能しませんでした。

0
user1747134

これは、異なるサーバーバージョンに必要なスキーマの変更が原因で発生します。

mysql_upgrade -uroot -p

問題を修正します。

サーバーをアンインストールして、そのデータディレクトリを消去する必要がある場合があります。再インストールして、データファイルの新しいコピーを作成します。

0