前回までに基本的な機能の実装が済んだので、周辺環境のメンテナンスの一環としてデータベースのお手入れの話をちょこっとはさんでおこうと思う。WordPressで使うデータベースはMySQLなわけだが、これが知らぬ間に結構な頻度でデータの出し入れをしており、メンテナンスしてあげないと障害を起こしてしまうのだ。管理画面に突然ログインできなくなったりする。そんな状況に直面し、全くメンテナンスなど気にしていなかったと言う場合には、テーブルの最適化をしてあげると直る事がある。WordPressのデータベースには、次のようなテーブルがある。その投稿がどのカテゴリーに所属しているか、どのタグが付いているかの情報を格納している。それに加えてwp_postmetaの3つのテーブルが激しく更新されるので、ゴミがたまってしまう。その為、定期的に最適化してあげないと、パフォーマンスが著しく低下したり、アクセスできなくなってしまったりする。以下のコマンドをcron等に登録し定期実行するといい。チェックして、オプティマイズし、オートリペアーしている。いう方は、リダイレクトを最後の捨てちゃうリダイレクトだけ残しておけばいいだろう。これだけでも駄目な時がある。現在、我がKnowledgeアンテナ研究室は御覧の通りDB障害のため閉鎖中である。select文は投げられるのだが、テーブルに対してdescなど投げたら、こんなエラーが返ってくる。it調べて見たら、mysqlのマニュアルでは、リペアすると直るよって書いてある。マニュアル通りに、checkしてみても、repairしてみても、OKと出るだけで一向に症状が直らない。問題を掘り下げようにも、今使っているさくらインターネットのプランは共有サーバなので、自分のホームディレクトリ以外はいじくれないのだ。mysqlのログすら見れない。借り住まいの苦しい所である。さくらインターネットではmysqlはサポート対象外なのだ。自分で問題解析するほかないのだが、ログすら見れない。グーグル先生にしつこく聞いてみると、どうやらtmpディレクトリにアクセスできなくなっている場合に、各コマンドはOKだが、エラーを吐き続けると言う症状に陥るらしいと言う声がちらほら拾えた。table?多分原因はこれだろう。これじゃなかったとしてもこれ以上私にはわからない。さくらインターネットのサポートにメールを投げて置いた。私のHPは今日は障害を伝えるトップページに置き換えるのがやっとやっとである。これで今日一日まるまる潰れてしまった。このブログでさくらインターネットの話題を出すので、広告を貼り付けようと、広告を申し込んだのだが、断られてしまったのは、こうして文句ばかり書くからだろうかと、ちょっとやさぐれ気味になってしまった。高いプランに入らなければ、こういう障害は日常茶飯事だと言う事なのだろう。やすかろう、わるかろうである。今回のDB障害で、データベースに蓄積していた情報の半分以上がぶっ飛んでしまった。FOUNDを返さねばならぬ事が、悔しくてならない。してばかりもいられない。データベースのバックアップの仕組みを実装していなかった私も悪いのだ。バックアップしていれば今頃は私も余裕でワインを傾けながら、さくらインターネットからの回答を笑顔で待つ事が出来ていただろう。今私がなすべきは、ネガティブな言葉を並び立てる事では無く、DBの定期バックアップのシェルを組む事なのだ!と思い直し、下記のようなシェルを書いてみた。データベースのバックアップに失敗しました。データベースのバックアップに成功しました。$rt今のモチベーションではこのクオリティーが限界である。これを一日一回流せば3世代補完のDBバックアップの出来上がりだ。一日前であれば、RSSからリンクを取得しなおしても元の状態までは復帰できるだろう。オブジェクトIDがずれてしまう事は仕方がない。差し当たっての復旧が第一である。これで次からは優雅にさくらインターネットのサポートセンターとやり取りが出来るだろう。KAGOYAのシェルログインできるプランに乗り換えてやるものを。お金が無いのは悲しい事だ。復旧の見込みは立っていないが、再発防止が出来ないなら、再発してもいい体制は整えて置くと言う方針で、対処が出来たと言う事にしたいと思う。次回からはRSS出力用の投稿の為のカスタム投稿の追加(ポストタイプの追加)などに付いて言及したいが、それはHPが復旧してからにした方が良いのかもしれない。Institute」をリリースいたしました。Instituteについて」をご参照ください。Instituteをご購入ください。銀仁堂さらに、TwitterBotスクリプトも併せてどうぞ。例のAT-X510-28GTXのスタックで遊ぶYAMAHAルーターNVR700Wと小型ONUがやってきた!翔んで西日本!例のAT-X510-28GTXで10GbEのファイル転送をしてみる。PM大変分かりやすい説明でこちらの記事を参考にアンテナサイトを作成させていただいています。アンテナサイト言えば、他サイトのRSSを登録するだけでなくこちらのRSSも他サイトに登録してもらわないといけません。現在のアンテナサイトではこちらのRSSを他サイトに登録してもらうと、新着記事が全てRSSとして配信されてしまっているため、相手サイトのヘッドラインを埋め尽くしてしまうことになります。現在のままだと人気のない記事やアクセスの少ないサイト様もRSSで配信されることになるためアクセスを頂いているサイト様とアクセス循環を図ることができません。・1時間または3時間ごとに人気記事や逆アクセスの多いサイトの記事をRSSで配信する・逆アクセスの多い記事をヘッドラインで表示するといったことはできないでしょうか?こちらのサイトのような感じです。http://antenam.info/こちらのサイトでは、1時間または3時間ごとの人気記事を配信し逆アクセスに応じてヘッドラインで紹介するような仕組みになっているようです。AMコメントありがとうございます。そのあたりについては、この続きで言及していくつもりでおりますので、楽しみにしていてください。クリックカウントのあたりの記事から追加しておりますのでよかった見てみてください。今後ともどうぞ御贔屓に。PMさっそくのお返事ありがとうございます。クリックカウンタの仕組み大変分かりやすかったです。Replyメールアドレスが公開されることはありません。