Read it later.

Web製作に関するサーバ構成やコーディングネタの備忘録として使ってます。

*

[MySQL]Cannot load from mysql.proc. The table is probably corrupted

   

mysqlのストアドプロシージャの再登録をしようとすると、下記のエラーが表示された。

ERROR 1548 (HY000): Cannot load from mysql.proc. The table is probably corrupted

mysqldのrestartを実行しても直る気配もなく・・・
そこでネットで調べてみると、
MySQL5.5.6で変なエラーに遭遇した。
にその対策が記載されていたので、下記のコマンドを流してみた。

[root@ ~]# mysql_upgrade -u root -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Running 'mysqlcheck with default connection arguments
※以下、↓こんな感じで全テーブルの一覧が出てきます。
mysql.columns_priv                                 OK
mysql.db                                           OK
…
Running 'mysql_fix_privilege_tables'...
OK

すると、ストアドプロシージャの再登録が出来るようになった。
どうやら、ストアドプロシージャを管理しているテーブル構造が、
Ver5.1と今のバージョンVer5.5では異なるらしく、初期インストールされているテーブル構造がVer5.1のものだったらしい。
なので、「mysql_upgrade」コマンドを実行して、テーブル構造が新しく更新できたので、うまく修復できた。
というのが、僕の推測。

MySQLリファレンスマニュアル mysql_upgrade — MySQL アップグレードのテーブル チェック

 - MySQL

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  関連記事

mysql
mysqlコマンドをコメント付きでクエリを実行する。

phpMyAdminでストアドを登録するとスクリプト内部にあるコメントも、ソース …

mysql
[MySQL]LOAD DATA INFILEで正常にCSVデータを読み込めない

※winscpを使って開発している人だけ、ご覧下さい。 LOAD DATA IN …

mysql
[MySQL] ランダム文字列の生成

「指定された文字の構成で、ランダムの文字列を生成する。」 よく使うのだけど、なか …

mysql
[MySQL]SELECT文で、FROM句を使用しないで、WHERE句を使用する

『SELECT文で、FROM句を使用しないで、WHERE句を使用する』 といった …

mysql
[MySQL]コマンドでのSQL文入力の途中キャンセル

mysqlをコマンドラインで操作している際、特に複数行、SQL文を入力してて途中 …

mysql
MySQL 5.5からMySQL 5.6へのアップグレード後の諸々の対応

先日、とあるシステムのデータベースをMySQL5.5からMySQL5.6にアップ …

mysql
[MySQL][phpMyAdmin]Allowed memory size of XXXXXX bytes exhausted (tried to allocate XXXXXX bytes)

こんな現象がおきました phpMyAdminでデータベース全体をエクスポートした …

mysql
[MySQL]データベースごとのサイズをSQLで一発で取得する

各データベースに接続して、単体でデーターベースサイズや、各テーブルのサイズを取得 …

mysql
[MySQL]innodbチューニング

いま携わっているプロジェクトでMySQLを使用しているのだけど、主要テーブル全て …

mysql
MySQL 権限一覧

権限 意味 ALL [PRIVILEGES] GRANT OPTION 以外の全 …