MySQLのアップグレード

2月 21, 2010

MySQLのアップグレード時に必要な作業を調べてみたが、いざとなるとズバリ、
という内容は見つからないものだ。
オフィシャルサイトにはアップグレード前と後にやるべきことは書いてあるが、
肝心のアップグレード自体の作業については書かれてない。
軽くイラっとしつつも、これでいいだろうか?とまとめてみた。
以下はソースインストールの例。

1.MySQLを停止。
2.ベースディレクトリ以下をバックアップ。
※mvでもよいが、自分は万が一を考えてcpしてからrmすることが多い

# cp -pr /usr/local/mysql /usr/local/mysql.5.x.xx
# rm -rf /usr/local/mysql


3.アップグレードしたいバージョンのソースをダウンロードし、解凍。
4.解凍後のインストールディレクトリに移動。必要なオプションをつけて一連の
インストールを行う。
5.前バージョンのMySQLからのデータ移行。
取得したバックアップからDBを含むデータディレクトリを、新バージョンの
ベースディレクトリ以下に配置する。通常のMySQLのバックアップとリストア
の手順で行えばいいようだ。
6.MySQLを起動
7.mysql_apgradeを実施。これによりデータベース内のテーブルにおける最新の
MySQL Server との互換性をチェックされ、必要に応じて問題のあるテーブル
を修正してくれるらしい。それと「システムテーブルのアップグレードも行うため、
新たな権限と追加機能を使用できるようになる」ってことだ。

# mysql_upgrade -u root -p –basedir=path –datadir=path


コマンド実行時にオプションを指定してもよいが、my.cnfに[mysql_upgrade] グループを作成し、そこで記述しておくことも可能。ちなみにユーザはデフォルトでroot。詳細は以下参照。
↓ ↓ ↓
4.5.4. mysql_upgrade — MySQL アップグレードのテーブル チェック

8.バージョン確認

mysql> select version();


mysqldumpを利用するなら、物理バックアップと基本は同じであるが、以下の手順で。

1.現行のデータをmysqldumpによりバックアップ
2.現バージョンMySQLを停止
3.現バージョンMySQLベースディレクトリをリネーム
(新バージョンで問題なく動作することが確認できてから消去)
4.新バージョンをインストール
5.新バージョンMySQLを起動
6.新バージョンにデータをインポートする
7.mysql_apgradeを実施


レプリケーションを実装している場合の注意など、今回は書ききれないので
参考リンクだけ残しておく。
↓ ↓ ↓
5.4.3. レプリケーション セットアップのアップグレード

その他リンクメモ
2.11. MySQL のアップグレード
@ネットおたく:MySQL5.1.30から、MySQL5.4.0betaアップグレード手順:簡易版


Categories: MySQL