今週初めに、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
各データベースを独自のファイルにバックアップします。