【MySQL】5.1から5.5へのアップグレード(rpmで)
問題
公式サイトから入手したrpmでインストールしたMySQL5.1を5.5にアップデートしたい。
MySQL-serverをアップデートしようとしたらメッセージが表示されてできない。
答え
メッセージの言うとおりにアップグレードする。
まず、5.1をインストールしたままで5.5をインストールしようとすると、次のように言われる。
# rpm -U MySQL-server-5.5.9-1.rhel5.i386.rpm ****************************************************************** A MySQL server package (MySQL-server-community-5.1.51-1.rhel5) is installed. Upgrading directly from MySQL 5.1 to MySQL 5.5 may not be safe in all cases. A manual dump and restore using mysqldump is recommended. It is important to review the MySQL manual's Upgrading section for version-specific incompatibilities. A manual upgrade is required. - Ensure that you have a complete, working backup of your data and my.cnf files - Shut down the MySQL server cleanly - Remove the existing MySQL packages. Usually this command will list the packages you should remove: rpm -qa | grep -i '^mysql-' You may choose to use 'rpm --nodeps -ev' to remove the package which contains the mysqlclient shared library. The library will be reinstalled by the MySQL-shared-compat package. - Install the new MySQL packages supplied by Oracle and/or its affiliates - Ensure that the MySQL server is started - Run the 'mysql_upgrade' program This is a brief description of the upgrade process. Important details can be found in the MySQL manual, in the Upgrading section. ****************************************************************** エラー: %pre(MySQL-server-5.5.9-1.rhel5.i386) スクリプトの実行に失敗しました。終了ステータス 1 エラー: install: スクリプト %pre の実行に失敗しました (2)。MySQL-server-5.5.9-1.rhel5 をスキップします。
MySQL5.1がインストールされている。5.1から5.5へのアップグレードは安全ではない。手動でダンプを取って、MySQLをインストールしなおして、リストアする手順をお勧めする。マニュアルも見てくれ。
とのこと。
以下、手順。
1、ダンプを作成(念のため)
mysqldump -u root -p --all-database > all.dump
2、my.cnfをバックアップ(念のため)
cp /etc/my.cnf /etc/my.cnf.backup
3、MySQLサーバーを停止
/etc/init.d/mysql stop
4、MySQL5.1(古い方)をアンインストール
yum remove MySQL-server-community
5、MySQL5.5(新しいの)をインストール
rpm -i MySQL-server-5.5.9-1.rhel5.i386.rpm
6、mysql_upgrade を実行する
mysql_upgradeはテーブルをチェックして、必要なら修復してくれる。ユーザー、パスワードが設定してあったら、引数につける。
/etc/init.d/mysql start mysql_upgrade -u root -p
既存のデータをチェックしてもらい、異常はなかった。
my.cnfも特に上書きされるなどの変化もなく、5.5から使えなくなった項目を削除するなどの修正のみで済んだ。
最終的に、データのダンプと設定ファイルのパックアップは使わずにアップグレードできた。
5.1では使えて5.5で使えなくなっている設定項目があり、my.cnfをそのままにしておくといろいろなエラーで起動しない場合があるので、my.cnfを修正するか、my.cnfを削除して起動するとよい。
コメント