mysql_upgradeとは?MySQLテーブルの確認とアップグレード方法を解説
本記事では、mysql_upgradeプログラムの役割と基本的な使い方についてわかりやすく解説します。
mysql_upgradeの用途
MySQLをバージョンアップするたびに、ユーザーはmysql_upgradeを実行する必要があります。このプログラムは、アップグレード後のMySQLサーバーとの非互換性(incompatibility)がないかをチェックします。
mysqlスキーマ内のシステムテーブルをアップグレードし、新しいバージョンで追加された権限や機能を利用できるようにします。
Performance Schemaおよびsysスキーマもアップグレードの対象です。
さらに、ユーザーが作成したスキーマ(ユーザースキーマ)についても調査を行います。
テーブルに非互換性の可能性が見つかった場合、そのテーブルに対してチェックを実行し、問題が検出されれば修復(リペア)処理を試みます。
mysql_upgradeの実行手順
mysql_upgradeは以下の手順で使用します。
まず、サーバーが現在起動していることを確認します。
次に、mysql_upgradeを呼び出して、mysqlスキーマ内のシステムテーブルをアップグレードします。
その他のスキーマ内のテーブルを確認・修復するには、以下のコマンドを実行します。
shell> mysql_upgrade [options]
処理が完了したら、サーバーを停止して再起動してください。これにより、システムテーブルへの変更が確実に反映されます。
複数のMySQLサーバーインスタンスをアップグレードする方法
アップグレードが必要なMySQLサーバーインスタンスが複数存在する場合は、接続先のサーバーごとに適切な接続パラメータを指定してmysql_upgradeを実行します。
例として、ローカルホスト上でポート3306〜3308を使って複数のサーバーが稼働している場合、それぞれのポートに接続して各サーバーをアップグレードできます。具体的には、以下のコマンドを使用します。
shell> mysql_upgrade --protocol=tcp -P 3306 [other_options] shell> mysql_upgrade --protocol=tcp -P 3307 [other_options] shell> mysql_upgrade --protocol=tcp -P 3308 [other_options]
Unix環境でローカルホストに接続する場合、--protocol=tcpオプションを指定すると、UnixソケットファイルではなくTCP/IPによる接続が強制されます。これにより、ポート番号を指定した接続が正しく行えるようになります。
-
MySQLインストールのアップグレード手順をわかりやすく解説
MySQLのバージョンアップを行う際には、事前準備からトラブル対応まで、一連の手順を正しく理解しておくことが重要です。本記事では、MySQLインストールをアップグレードするための基本的な流れと、代表的な3つのアップグレード方式について詳しく解説します。MySQLアップグレードの全体フローMySQLのアップグレード作業は、おおむね以下のステップで構成されます。アップグレードパス(移行経路)の確認アップグレードに向けた事前準備Unix/Linux環境におけるバイナリ版・パッケージ版インストールのアップグレードMySQL Yumリポジトリ、APTリポジトリ、SLESリポジトリ、あるいはWindows
-
MySQLでデータベースやテーブルの情報を取得する方法|SHOW・DESCRIBEの使い方を解説
はじめにデータベース名やテーブル名、テーブルの構造、カラム名などをうっかり忘れてしまうことは、開発現場でよくあることです。MySQLでは、データベースやテーブルに関する情報を取得するための便利なステートメントが多数用意されているため、このような問題も簡単に解決できます。本記事では、代表的な情報取得コマンドである「SHOW DATABASES」「DATABASE()」「SHOW TABLES」「DESCRIBE」の使い方を順番に解説します。サーバーが管理するデータベースの一覧を表示する「SHOW DATABASES」クエリを使うと、サーバーが管理しているすべてのデータベースの一覧を表示できます。