yum で MySQL バージョンアップ後に実行するチェックコマンド、それは mysql_upgrade

スポンサードリンク

MySQL パフォーマンスを向上させまして WordPress のパフォーマンスを上げるためにいろいろ調べていく中で、今まで行なっておりませんでしたが、実行したほうがよい MySQL コマンドを発見しましたのでメモしておきます。

yum で MySQL のバージョンアップを実行後、次のコマンドを実行します。

# MySQL アップグレードのテーブルチェック(シェルで行う)
mysql_upgrade -u root -p

mysql_upgrade — MySQL アップグレードのテーブル チェック、とは一体!?

各テーブルの、アップグレードした新しい MySQL のシステムとの互換性が保たれているかチェックし、おかしければ修正するコマンドとのことです。詳しくは、MySQL 本家の説明を引用いたします。

MySQL のアップグレードでは、その度に、mysql_upgrade を実行します。これにより、データベース内のテーブルにおける最新の MySQL Server との互換性をチェックすることができます。該当テーブルが非互換の場合は、チェックの対象になり、問題があれば、そのテーブルを修正します。mysql_upgrade コマンドは、システム テーブルのアップグレードも行うため、新たな権限と追加機能を使用できるようになります。

ここでわたくし、「?」を感じました。「アップグレードってなんでしょうか?」と。

マイナーバージョンを上げるとき、「アップデート」と呼ぶ印象があります。

一方、メジャーバージョンを上げるときは、「アップグレード」の印象です。

MySQL のアップグレードは何を指すかを調べました。

結論から申しますと、メジャーでありましても、マイナーでありましても、MySQL 本家サイト内では統一して「アップグレード」と呼んでおりました。たとえば次のページです。

ですので、yum で MySQL が update されるたびに、mysql_upgrade コマンドでチェックおよび修復をすれば良いことになります。

実際に mysql_upgrade を実行してみました♪

今まで一度も試したことがありませんでしたので、実行してみました。なんだか MySQL の健康診断をしている気持ちです♪

結果を先に申しますと、何も問題はありませんでした。いえ、もしかしたら問題はあったのかもしれませんが、mysql_upgrade で修正されたと考えるべきでしょうか。いずれにせよホッとしました。ちなみに、DB 名などは、一部変更しております。

[root@oki2a24 ~]# # MySQL アップグレードのテーブルチェック(シェルで行う)
[root@oki2a24 ~]# mysql_upgrade -u root -p
Enter password: 
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Running 'mysqlcheck with default connection arguments
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.host                                         OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.servers                                      OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
wordpressdb.wordpress_commentmeta OK
wordpressdb.wordpress_comments                     OK
wordpressdb.wordpress_links                        OK
wordpressdb.wordpress_options                      OK
wordpressdb.wordpress_postmeta                     OK
wordpressdb.wordpress_posts                        OK
wordpressdb.wordpress_term_relationships           OK
wordpressdb.wordpress_term_taxonomy                OK
wordpressdb.wordpress_terms                        OK
wordpressdb.wordpress_usermeta                     OK
wordpressdb.wordpress_users                        OK
wordpressdb.wordpress_yarpp_related_cache          OK
Running 'mysql_fix_privilege_tables'...
OK
[root@oki2a24 ~]#

おわりに

今回のような、問題なく稼働しているのにあえて mysql_upgrade の実行をアップデートのたびに取り込もうとするのは、ひょっとしたら少数派かもしれません。

Google 検索で調べてみたところ、次のようなケースが見受けられました。

以上です。


スポンサードリンク

コメントを残す