一部のリリースでは、権限テーブル(mysql
データベース内のテーブル)の構造が変更され、新しい権限または機能が追加されています。新しいバージョンの
MySQL
に更新したときに権限テーブルが確実に最新のものであるようにするには、権限テーブルも更新する必要があります。
Unix システムまたは Unix
ライクなシステムでは、以下のように
mysql_fix_privilege_tables
スクリプトを実行して権限テーブルを更新します。
shell> mysql_fix_privilege_tables
このスクリプトは、サーバの稼動中に実行しなければなりません。このスクリプトは、ローカルホスト上で稼動しているサーバに
root
として接続します。
root
アカウントがパスワードを必要とする場合は、コマンドラインでパスワードを指定します。MySQL
4.1
以降のバージョンの場合は、以下のようにパスワードを指定します。
shell> mysql_fix_privilege_tables --password=root_password
MySQL 4.1 より前のバージョンの場合は、以下のようにパスワードを指定します。
shell> mysql_fix_privilege_tables root_password
mysql_fix_privilege_tables
スクリプトは、権限テーブルを現行の形式に変換するために必要な処理を実行します。スクリプトの実行中にいくつかの
Duplicate column name
警告が表示されることがあります。これらの警告は無視してかまいません。
スクリプトの実行後に、サーバを停止してから、再起動します。
Windows システムでは、MySQL 4.0.15
までは、権限テーブルを簡単に更新する方法はありません。バージョン
4.0.15 以降では、mysql
クライアントを使用して実行できる
mysql_fix_privilege_tables.sql
SQL
スクリプトが MySQL
ディストリビューションに含まれています。MySQL
が C:\mysql
にインストールされている場合、コマンドは以下のようになります。
C:\mysql\bin>mysql -u root -p mysql
mysql>SOURCE C:\mysql\scripts\mysql_fix_privilege_tables.sql
MySQL がこれ以外のディレクトリにインストールされている場合は、パス名をそれに合わせて変更してください。
このコマンドは、root
のパスワードの入力を求めるプロンプトを表示します。プロンプトが表示されたらパスワードを入力します。
Unix の手順の場合と同様に、mysql
が mysql_fix_privilege_tables.sql
スクリプトのステートメントを処理しているときにいくつかの
Duplicate column name
警告が表示されることがあります。これらの警告は、無視してかまいません。
スクリプトの実行後に、サーバを停止してから、再起動します。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.