CPanel は、古い MySQL インストールの RPM が一致していないという警告を表示します。これを修正するにはどうすればよいですか?

CPanel は、古い MySQL インストールの RPM が一致していないという警告を表示します。これを修正するにはどうすればよいですか?

今週初めに、CPanel WHM インターフェースを使用して MySQL をバージョン 5.0 から 5.6 に移行しました。昨夜、システムから、古い MySQL RPM に問題があるというメールを受け取りました。メールには次のように書かれていました。

Problems were detected with cPanel-provided files which are RPM
controlled. If you did not make these changes intentionally, you can
correct them by running:

> /usr/local/cpanel/scripts/check_cpanel_rpms --fix

The following RPMs are found to be altered from their original install
state: 
compat-MySQL51-shared,5.1.73,4.cp1136,/usr/lib64/libmysqlclient.so.16.0.0

そして、マシン上で check_cpanel_rpms を実行すると、次の結果が得られました。

/usr/local/cpanel/scripts/check_cpanel_rpms --list-only prelink: /usr/lib64/libmysqlclient.so.16.0.0: プレリンク以降、ファイルの依存関係の少なくとも 1 つが変更されました [20141025.184811] [20141025.184811] RPM 制御されている cPanel 提供のファイルに問題が検出されました。 [20141025.184811] これらの変更を意図的に行わなかった場合は、次を実行して修正できます: [20141025.184811] [20141025.184811] > /usr/local/cpanel/scripts/check_cpanel_rpms --fix [20141025.184811] [20141025.184811] 次のファイルは、元の RPM から変更されていることが判明しました: [20141025.184811] compat-MySQL51-shared,5.1.73,4.cp1136 [20141025.184811]

問題となっているのは 5.1 ですが、これは現在実行中のバージョンではありません。

--fixオンのオプションはかなりcheck_cpanel_rpms魔法のようです。実行しても安全かどうかはわかりません。おそらく、「修正」の一環として MySQL インスタンスがダウンするでしょう。

この警告を修正するにはどうすればいいでしょうか? 可能であれば、MySQL が停止しないような方法をお勧めします。

答え1

そのコマンドを実行したくない場合は、EasyApache を実行して、正しい mysql クライアント拡張機能を使用して Apache/PHP を再構築してみてください。ただし、無人アップグレードを選択した場合は、おそらく既に実行されています。MySQL アップグレードが実行されていない場合、一部のサイトはアップグレード後に機能しなくなります。

また、実行しても問題はないと思います

/usr/local/cpanel/scripts/check_cpanel_rpms --fix

このような問題を解決するために、サーバー上でコマンドを複数回実行しましたが、問題は発生しませんでした。

WHM を通じて MySQL をアップグレードした場合、コマンドは古い MySQL RPM を削除し、現在の MySQL 5.6 RPM をそのまま残すだけです。

何か問題が発生した場合に備えて、安全のためにコマンドを実行する前にすべてのデータベースをバックアップする必要がありますが、MySQL のダウンタイムは発生しないはずです。

全てのデータベースをバックアップするには、以下を実行します。

mysqldump --all-databases > all_databases.sql

すべてのデータベースを1つのファイルにバックアップするか、

for i in `mysql -e "show databases;"`; do mysqldump $i > /folder_path/$i.sql; done

各データベースを独自のファイルにバックアップします。

関連情報