mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

MySQL - 5.5.20 アップデート時エラー!

[ サーバ構築 ] [ MySQL, Windows ]

こんばんは。

ローカルテスト用にと Windows マシンに MySQL をインストールしているのですが、ふとエラーログを見てみると ERROR が出力されていました。

以下、現象と対処の記録です。

記録

前提

以下の環境で確認しています。(Linux 等でも同様と思われる)

  • OS : Windows XP SP3
  • MySQL : 5.5.20

現象

MySQL のエラーログに以下のようなエラーメッセージが出力される。 ※Windows のシステムログにも同様のメッセージが出力されている。 しかし、以下のようなエラーが出力されていても MySQL は問題なく機能しているように見える。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
120201 22:39:35 InnoDB: 1.1.8 started; log sequence number 10920470799
120201 22:39:35 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
120201 22:39:35 [ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'events_waits_history' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'events_waits_history_long' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'setup_consumers' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'setup_instruments' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'setup_timers' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'performance_timers' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'threads' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_thread_by_event_name' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_instance' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'events_waits_summary_global_by_event_name' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'file_summary_by_event_name' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'file_summary_by_instance' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'mutex_instances' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'rwlock_instances' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'cond_instances' has the wrong structure
120201 22:39:35 [ERROR] Native table 'performance_schema'.'file_instances' has the wrong structure
120201 22:39:35 [Note] Event Scheduler: Loaded 0 events
120201 22:39:35 [Note] MySQL: ready for connections.
Version: '5.5.20-log'  socket: ''  port: 3306  MySQL Community Server (GPL)

ちなみに、当方は Linux サーバも運用していますが、そちらの MySQL は 5.1 系のままだったので問題ありませんでした。

原因

エラーログに出力されているように、mysql.proxies_priv がおかしいようです。 要は、wrong structure (誤った構造)のテーブルがあると言っています。

そして、このエラーが出力されるようになったのは、MySQL を ‘5.5.0-m2-community’ から ‘5.5.20’ にアップデートしてからでした。

色々調べてみると、MySQL を 5.1 から 5.5 にアップグレードした時にこのようなエラーが出力されるような記事を見かけました。 今回の場合、同じ 5.5 系ですがこのような状態になりました。 ※'5.5.0-m2-community' はインストーラでインストールしていたが、'5.5.20' はアーカイブを展開して使用している、という違いも関係しているのかもしれません

対処

エラーログに出力されているように、mysql_upgrade を実行して MySQL を再起動すれば良いようです。 今回は Windows 環境なので、コマンドプロンプトから以下のように実行します。

1
2
3
4
5
6
7
8
9
10
11
C:\mysql\bin>mysql_upgrade -u root -p
Enter password: ***************
Looking for 'mysql.exe' as: C:\mysql\bin\mysql.exe
Looking for 'mysqlcheck.exe' as: C:\mysql\bin\mysqlcheck.exe
Running 'mysqlcheck' with connection arguments: "–port=3306"
Running 'mysqlcheck' with connection arguments: "–port=3306"

====< 途中省略 >====

Running 'mysql_fix_privilege_tables'OK

これで、エラーメッセージは出力されなくなりました。


以上。

Comments