MySQL 5.1 リファレンスマニュアル :: 4 データベース管理 :: 4.5 インストール関連プログラム :: 4.5.4 mysql_upgrade — MySQL アップグレードのテーブル チェック
« 4.5.3 mysql_install_db — MySQL データ ディレクトリ 初期化スクリプト

4.5.5 mysql_tzinfo_to_sql — タイム ゾーン テーブルのロード »
Section Navigation      [Toggle]
  • 4.5 インストール関連プログラム
  • 4.5.1 make_win_bin_dist — Package MySQL 配布 (ZIP アーカイブ)
  • 4.5.2 mysql_fix_privilege_tables — MySQL システム テーブルのアップグレード
  • 4.5.3 mysql_install_db — MySQL データ ディレクトリ 初期化スクリプト
  • 4.5.4 mysql_upgrade — MySQL アップグレードのテーブル チェック
  • 4.5.5 mysql_tzinfo_to_sql — タイム ゾーン テーブルのロード

4.5.4. mysql_upgrade — MySQL アップグレードのテーブル チェック

MySQL のアップグレードでは、その度に、mysql_upgrade を実行します。これにより、データベース内のテーブルにおける最新の MySQL Server との互換性をチェックすることができます。該当テーブルが非互換の場合は、チェックの対象になり、問題があれば、そのテーブルを修正します。mysql_upgrade コマンドは、システム テーブルのアップグレードも行うため、新たな権限と追加機能を使用できるようになります。

チェックと修正が済んだテーブルは、最新のMySQL バージョン番号とマーク (特徴付け) される。これにより、次に同じバージョンのサーバで mysql_upgrade を立ち上げるときに、そのテーブルをチェックして修正する必要があるかどうかを確かめる必要がなくなります。

mysql_upgrade では、データ ディレクトリの mysql_upgrade.info というファイルに MySQL のバージョン番号も保存します。これは、すべてのテーブルがチェック済みであるかどうかを簡単に調べます。これにより、リリースでテーブル チェックをスキップするようになります。ファイルを無視するには、--force オプションを使用します。

テーブル チェックおよび修復、システム テーブルのアップグレードを行なうには、mysql_upgrade で次のコマンドを実行します。

mysqlcheck --check-upgrade --all-databases --auto-repair
mysql_fix_privilege_tables

mysql_upgrade コマンドは、古い方、つまり mysql_fix_privilege_tables より優先です。MySQL 5.1.7 では、シェル スクリプト として mysql_upgrade が加えられ、Unix システムだけで機能します。MySQL 5.1.10 以降は、mysql_upgrade は実行可能なバイナリとして、すべてのシステムで使用できます。mysql_upgrade をサポートしているものより古いシステムでは、手動で mysqlcheck コマンドを実行し、システム テーブルのアップグレードを行ないます。詳細は 項4.5.2. 「mysql_fix_privilege_tables — MySQL システム テーブルのアップグレード」 を参照してください。

何がチェックされるか、に関する詳細は、CHECK TABLE ステートメントの FOR UPGRADE オプションに関する説明を参照してください。(項12.5.2.3. 「CHECK TABLE 構文」)

mysql_upgrade を使用するには、サーバが起動していることを確認し、次のように呼び出します。

shell> mysql_upgrade [options]

mysql_upgrade はコマンドライン、およびオプション ファイルの [mysql_upgrade] グループからオプションを読み取ります。これは次のオプションをサポートします。

  • --help

    ショート ヘルプ メッセージを表示し、終了。

  • --basedir=path

    基準パス。MySQLがインストールされているディレクトリを指す。

  • --datadir=path

    データ ディレクトリへのパス。

  • --force

    mysqlcheck を強制実行する。最新の MySQL バージョンで mysql_upgrade を既に実行している場合も。つまり、このオプションは、mysql_upgrade.info を無視するようにする。

  • --user=user_name, -u user_name

    サーバに接続するときの MySQL ユーザ名。デフォルト名は root 。

  • --verbose

    冗長モード。プログラム実行に関する情報を出力する。

他のオプションは、mysqlcheck および mysql_fix_privilege_tables へ渡される。たとえば、--password[=password] オプションは指定しなければならない可能性がある。

Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates