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 検索で調べてみたところ、次のようなケースが見受けられました。
- 「ログを見たらなんかエラーが出ていて、mysql_upgrade をしてね、と言われたから実行した」ケース
→ mysql_upgrade を実行する | firegoby - 「ユーザーの権限を編集しようとしたらできなくて、いろいろ調べて mysql_upgrade にたどり着いた。実行したら治った♪」ケース
→ MySQLでDB移行する時はmysql_upgradeを行おう | シーズクリエイターズブログ
→ mysql_upgrade | シカでした。 - 「mysql_upgrade したらエラーがっ!レプリケーションしているときは注意が必要なのですね」ケース
→ MySQL5.1->5.5へのアップデート(バージョンアップ)でmysql_upgradeするとレプリが止まる: hogepiyo
→ ケーワン・エンタープライズのエンジニアメモ(`・ω・´)ゞビシッ!!: MySQLアップデート(mysql_upgrade)
以上です。
「yum で MySQL バージョンアップ後に実行するチェックコマンド、それは mysql_upgrade」への2件の返信
[…] 色々なところに情報があり、今回は「yum で MySQL バージョンアップ後に実行するチェックコマンド、それは mysql_upgrade」を参考にさせていただいた。 […]
[…] 色々なところに情報があり、今回は「yum で MySQL バージョンアップ後に実行するチェックコマンド、それは mysql_u…」を参考にさせていただいた。 […]