10bet网址
MySQL 5.6リファレンスマニュアル
本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb
HTML下载(TGZ)- 7.2 mb
HTML下载(邮政编码)- 7.2 mb


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

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

mysql_upgradeはすべてのデータベースのすべてのテーブルに対して,MySQLサーバーの現在のバージョンとの非互換性を調べます。また,mysql_upgradeは,システムテーブルをアップグレードして,追加された可能性のある新しい権限または機能を利用できるようにします。

mysql_upgradeは,テーブルに非互換性がある可能性が見つかった場合はテーブルのチェックを実行し,問題が検出された場合はテーブルの修復を試みます。テーブルを修復できない場合は,手動でテーブルを修復する方法について,セクション2.11.4“テーブルまたはインデックスの再作成または修復”を参照してください。

mysql_upgradeはMySQLをアップグレードするたびに実行するようにしてください。

Linuxで,MySQLをRPMパッケージからインストールする場合は,サーバーとクライアントのRPMをインストールする必要があります。mysql_upgradeはサーバーRPMに含まれていますが,クライアントRPMにmysqlcheckが含まれるため,クライアントRPMが必要です。(セクション2.5.5“RPMパッケージを使用してMySQLをLinuxにインストールする”を参照してください)。

注記

Windows Server 2008, Vista,およびそれ以降では,mysql_upgradeを管理者権限で実行する必要があります。そのためには,コマンドプロンプトを管理者として実行してそのコマンドを実行します。そうしないと,アップグレードが正しく実行されない場合があります。

注意

アップグレードを実行するに,必ず現在のMySQLインストールをバックアップするようにしてください。セクション7.2”データベースバックアップ方法”を参照してください。

一部のアップグレードの非互換性により,MySQLインストールをアップグレードしてmysql_upgradeを実行する前に特殊な処理が必要な場合があります。このような非互換性が,使用しているインストールに該当するかどうかの判断,およびその対処方法については,セクション2.11.1“MySQLのアップグレード”を参照してください。

mysql_upgradeを使用するには,サーバーが稼働していることを確認してください。そのあと,次のように呼び出します。

壳> mysql_upgrade [选项

mysql_upgradeの実行後,システムテーブルに行われた変更が有効になるように,サーバーを停止して再起動します。

複数のMySQLサーバーインスタンスが稼働している場合は,目的のサーバーに適した接続パラメータを使用してmysql_upgradeを呼び出します。たとえば,ローカルホストで 3306 から 3308 までのポートでサーバーが稼働している場合、適切なポートに接続してそれぞれをアップグレードします。

shell> mysql_upgrade——protocol=tcp -P 3306 [other_optionsmysql_upgrade——protocol=tcp -P 3307 []other_optionsmysql_upgrade——protocol=tcp -P 3308 []other_options

Unixでのローカルホスト接続では,——= tcp协议オプションを使用すると,UnixソケットファイルではなくTCP / IPを強制的に使用して接続が行われます。

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

Mysqlcheck——no-defaults——check-upgrade——auto-repair mysql mysql < fix_priv_tables > Mysqlcheck——no-defaults——all-databases——skip-database=mysql——自我修护

前述のコマンドに関する注意:

  • mysql_upgradeはまた,mysql_upgradeコマンドに——write-binlogオプションが指定されたかどうかに応じて,——write-binlogまたは——skip-write-binlogmysqlcheckコマンドに追加します。

  • mysql_upgrademysqlcheck——所有数据库オプションで呼び出すため,すべてのデータベースのすべてのテーブルが処理され,完了するのに長時間かかる場合があります。各テーブルはロックされるため,処理中にほかのセッションで使用することはできません。チェックと修復の処理には時間がかかることがあり,特に大きなテーブルでは長い時間を要する可能性があります。

  • ——check-upgradeオプションで実行されるチェックの詳細は,检查表ステートメントの为升级オプションの説明を参照してください(セクション13.7.2.2”检查表構文”を参照してください)。

  • fix_priv_tablesは,mysql_upgradeにより内部的に生成され,mysqlデータベース内のテーブルをアップグレードするためのSQLステートメントを含むスクリプトを示します。

チェックおよび修復が行われたすべてのテーブルは,現在のMySQLバージョン番号でマークされます。これにより,次に同じバージョンのサーバーでmysql_upgradeを立ち上げるときに,そのテーブルを再度チェックして修正する必要があるかどうかが確実にわかります。

mysql_upgradeはまたMySQLバージョン番号をデータディレクトリのmysql_upgrade_infoという名前のファイルに保存します。これは,テーブルのチェックをスキップできるように,すべてのテーブルがこのリリースに関してチェック済みかどうかを迅速にチェックするために使用されます。このファイルを無視してとにかくチェックを実行するには,——力オプションを使用します。

mysql_upgradeでは,ヘルプテーブルの内容はアップグレードされません。アップグレードの手順については,セクション5.1.10”サーバー側のヘルプ”を参照してください。

デフォルトでは,mysql_upgradeはMySQLユーザーとして実行されます。mysql_upgradeの実行時にのパスワードが期限切れの場合,パスワードが期限切れであり,その結果mysql_upgradeが失敗したというメッセージが表示されます。これを修正するには,のパスワードを期限が切れていないものにリセットして,mysql_upgradeをふたたび実行します。

mysql> SET password = password ('root-password'); / /设置密码Mysql > quit shell> mysql_upgrade [选项

mysql_upgradeは次のオプションをサポートします。これらはコマンド行またはオプションファイルの(mysql_upgrade)グループおよび(客户端)グループで指定できます。その他のオプションはmysqlcheckに渡されます。オプションファイルの詳細は,セクション4.2.6”オプションファイルの使用”を参照してください。

表4.4 mysql_upgradeオプション

オプション名 説明 導入
——basedir 使用しない
——character-sets-dir 文字セットがインストールされているディレクトリ
——压缩 クライアントとサーバー間で送信される情報をすべて圧縮
——datadir 使用しない
——调试 デバッグのログを書き込み
——debug-check プログラムの終了時にデバッグ情報を出力
——debug-info プログラムの終了時に,デバッグ情報,メモリー,およびCPUの統計を出力
——default-auth 使用する認証プラグイン 5.6.2
——default-character-set デフォルト文字セットを指定
——defaults-extra-file 通常のオプションファイルに加えてオプションファイルを読み取る
——defaults-file 指名されたオプションファイルのみを読み取る
——defaults-group-suffix オプショングループのサフィクス値
——力 MySQLの現在のバージョンに対してmysql_upgradeを実行済みでも強制的に実行
——帮助 ヘルプメッセージを表示して終了
——主机 指定されたホスト上でMySQLサーバーに接続
——登录路径 ログインパスオプションを.mylogin.cnfから読み取り 5.6.6
——已 オプションファイルを読み取らない
——密码 サーバーに接続する際に使用するパスワード
——管 Windowsで,名前付きパイプを使用してサーバーに接続
——plugin-dir プラグインがインストールされているディレクトリ 5.6.2
——港口 接続に使用するTCP / IPポート番号
——print-defaults デフォルトを出力
——协议 使用する接続プロトコル
——shared-memory-base-name 共有メモリー接続に使用する共有メモリーの名前
——套接字 ローカルホストへの接続で,使用するUnixソケットファイル
——ssl 接続にSSLを有効化
——ssl-ca 信頼されたSSL CAのリストを含むファイルのパス
——ssl-capath 信頼されたSSL CAのPEM形式の証明書を含むディレクトリのパス
——ssl-cert PEM形式のX509証明書を含むファイルのパス
——ssl cipher SSLの暗号化に使用される,許可された暗号のリスト
——ssl-crl 証明書失効リストを含むファイルのパス 5.6.3
——ssl-crlpath 証明書失効リストファイルを含むディレクトリのパス 5.6.3
——ssl密钥 PEM形式のX509鍵を含むファイルのパス
——ssl-verify-server-cert サーバーへの接続時に,サーバーの証明書内のコモンネーム値をホスト名に対して検証
——tmpdir 一時ファイルのディレクトリ
——upgrade-system-tables システムテーブルのみを更新し,データは更新しない
——用户 サーバーへの接続時に使用するMySQLユーザー名
——详细 冗長モード
——版本检查 適切なサーバーバージョンをチェック 5.6.12
——write-binlog すべてのステートメントをバイナリログに書き込み

  • ——帮助

    短いヘルプメッセージを表示して終了します。

  • ——basedir =dir_name

    MySQLインストールディレクトリへのパス。このオプションは,後方互換性のため受け付けられますが無視されます。MySQL 5.7では削除されました。

  • ——character-sets-dir =路径

    文字セットがインストールされているディレクトリ。セクション10.5”文字セットの構成”を参照してください。

  • ——压缩

    クライアントとサーバーの両方が圧縮をサポートしている場合,その間で送受信される情報をすべて圧縮します。

  • ——datadir =dir_name

    データディレクトリへのパス。このオプションは,後方互換性のため受け付けられますが無視されます。MySQL 5.7では削除されました。

  • ——调试(=debug_options- # (debug_options

    デバッグのログを書き込みます。一般的なdebug_options文字列はd:师:啊,file_nameです。デフォルトはd:师:啊,/ tmp / mysql_upgrade.traceです。

  • ——debug-check

    プログラムの終了時に,デバッグ情報を出力します。

  • ——debug-info- t

    プログラムの終了時に,デバッグ情報とメモリーおよびCPU使用率の統計を出力します。

  • ——default-auth =插件

    使用するクライアント側の認証プラグイン。セクション6.3.7”プラガブル認証”を参照してください。

    このオプションはMySQL 5.6.2で追加されました。

  • ——default-character-set =charset_name

    charset_nameをデフォルト文字セットとして使用します。セクション10.5”文字セットの構成”を参照してください。

  • ——defaults-extra-file =file_name

    このオプションファイルは,グローバルオプションファイルのあとに読み取りますが,(UNIXでは)ユーザーオプションファイルの前に読み取るようにしてください。ファイルが存在しないかアクセスできない場合,エラーが発生します。file_nameは,フルパス名でなく相対パス名として指定された場合,現行ディレクトリを基準にして解釈されます。

  • ——defaults-file =file_name

    指定されたオプションファイルのみ使用します。ファイルが存在しないかアクセスできない場合,エラーが発生します。file_nameは,フルパス名でなく相対パス名として指定された場合,現行ディレクトリを基準にして解釈されます。

  • ——defaults-group-suffix =str

    通常のオプショングループだけでなく,通常の名前にstrのサフィクスが付いたグループも読み取ります。たとえば,mysql_upgradeは通常(客户端)グループおよび(mysql_upgrade)グループを読み取ります。——defaults-group-suffix = _otherオプションを指定した場合,mysql_upgrade(client_other)グループおよび(mysql_upgrade_other)グループも読み取ります。

  • ——力

    mysql_upgrade_infoファイルを無視しMySQLの現在のバージョンに対してmysql_upgradeを実行済みでも強制的に実行します。

  • ——主机=host_name- hhost_name

    指定されたホストのMySQLサーバーに接続します。

  • ——登录路径=的名字

    指名されたログインパスから.mylogin.cnfログインファイルのオプションを読み取ります。ログインパスは,宿主用户,および密码という限定されたオプションのセットのみを許可するオプショングループです。ログインパスは,サーバーホストおよびそのサーバーで認証するための認証情報を示す値のセットであると考えてください。ログインパスファイルを作成するには、mysql_config_editorユーティリティーを使用します。セクション4.6.6”mysql_config_editor——MySQL構成ユーティリティー”を参照してください。このオプションはMySQL 5.6.6で追加されました。

  • ——已

    オプションファイルを読み取りません。オプションファイルから不明のオプションを読み取ることが原因でプログラムの起動に失敗する場合,——已を使用して,オプションを読み取らないようにすることができます。

    例外として,.mylogin.cnfファイルは,存在する場合はすべての場合に読み取られます。これにより,——已が使用されたとしても,コマンド行よりも安全な方法でパスワードを指定できます。(.mylogin.cnfmysql_config_editorユーティリティーによって作成されます。セクション4.6.6”mysql_config_editor——MySQL構成ユーティリティー”を参照してください)。

  • ——密码(=密码- p (密码

    サーバーに接続する際に使用するパスワードです。短いオプション形式(- p)を使用した場合は,オプションとパスワードの間にスペースを置くことはできません。コマンド行で,——密码オプションまたは- pオプションに続けて密码の値を指定しなかった場合,mysql_upgradeはそれを要求します。

    コマンド行でのパスワード指定は,セキュアでないと考えるべきです。セクション6.1.2.1”パスワードセキュリティーのためのエンドユーザーガイドライン”を参照してください。オプションファイルを使用すれば,コマンド行でパスワードを指定することを回避できます。

  • ——管- w

    Windowsで,名前付きパイプを使用してサーバーに接続します。このオプションは,サーバーが名前付きパイプ接続をサポートしている場合にのみ適用されます。

  • ——plugin-dir =路径

    プラグインを検索するディレクトリ。——default-authオプションを使用して認証プラグインを指定したが,mysql_upgradeがそれを検出できない場合は,このオプションを指定しなければならない可能性があります。セクション6.3.7”プラガブル認証”を参照してください。

    このオプションはMySQL 5.6.2で追加されました。

  • ——港口=port_num- pport_num

    接続に使用するTCP / IPポート番号。

  • ——print-defaults

    プログラム名と,オプションファイルから受け取るすべてのオプションを出力します。

  • ——协议= {TCP套接字| | |内存管}

    サーバーへの接続に使用する接続プロトコル。このオプションは,ほかの接続パラメータによって,必要なプロトコル以外のものが通常使用される場合に役立ちます。許可される値の詳細は,セクション4.2.2“MySQLサーバーへの接続”を参照してください。

  • ——shared-memory-base-name =的名字

    Windowsで共有メモリーを使用して作成されるローカルサーバーへの接続の共有メモリー名。デフォルト値はMYSQLです。共有メモリー名では大文字と小文字を区別します。

    共有メモリー接続を可能にするには,サーバーは——共享内存オプションで起動する必要があります。

  • ——套接字=路径- s路径

    本地主机への接続用に使用する,Unixソケットファイル,またはWindowsでは使用する名前付きパイプの名前。

  • ——ssl *

    ——sslで始まるオプションは,SSLを使用してサーバーに接続することを許可するかどうかを指定し,SSL鍵および証明書を検索する場所を指定します。セクション6.3.10.4“SSLコマンドのオプション”を参照してください。

  • ——tmpdir =dir_name- t路径

    一時ファイルを作成するために使用するディレクトリのパス名。

  • ——upgrade-system-tables- s

    システムテーブルのみをアップグレードし,データはアップグレードしません。

  • ——用户=user_name- uuser_name

    サーバーへの接続時に使用するMySQLユーザー名。デフォルトのユーザー名はです。

  • ——详细

    冗長モード。プログラムの動作についてより多くの情報を出力します。

  • ——版本检查- k

    mysql_upgradeの接続先のサーバーのバージョンをチェックして,mysql_upgradeがビルドされたバージョンと同じであることを確認します。そうでない場合はmysql_upgradeは終了します。このオプションはデフォルトで有効にされています。——skip-version-checkを使用して無効化してください。このオプションはMySQL 5.6.12で追加されました。

  • ——write-binlog

    mysql_upgradeの実行中にバイナリロギングを有効にします。MySQL 5.6.6以前では,これはデフォルトの動作でした。(アップグレード中にバイナリロギングを無効にするには、プログラムを——skip-write-binlogで起動することによって,このオプションの逆を使用する必要がありました)MySQL 5.6.7から,mysql_upgradeによるバイナリロギングはデフォルトで無効です(错误# 14221043)。アクションをバイナリログに書き込む場合は,明示的に——write-binlogを使用してプログラムを呼び出します。(また,MySQL 5.6.7 から、——skip-write-binlogオプションは実際には何もしません)。

    グローバルトランザクション識別子を有効にして稼働しているMySQLサーバーでは,mysql_upgradeを実行することは推奨されません(错误# 13833710)。これは,GTIDを有効にするということは,mysql_upgradeがシステムテーブルに対して,MyISAMなどの非トランザクションストレージエンジンを使用して実行する必要のある更新が,失敗することを意味するからです。詳細は,セクション17.1.3.4”GTIDベースレプリケーションの制約”を参照してください。