HOME  »  , , , ,  » phpMyAdminでMySQLのバックアップ・オーバーヘッドの解消

phpMyAdminでMySQLのバックアップ・オーバーヘッドの解消

2005/03/12 | Comments & Trackbacks : 10

このサイトはロリポ+php+MySQLでやっていたりするのですが、年中聞くのがロリポのphp+MySQLの組み合わせはイマイチ良くないらしいと言う噂。
MySQL用サーバーが現時点で6台しかないので負荷がかかりまくっちゃって不安定だとか、そんな理由らしいです。
私はまるっきりの素人なので何が何だかさっぱりなのですが、最初にphp+MySQLだと再構築が早くて楽という話(この辺にその理由について書いてあります)をまるっきり鵜呑みにして採用した以上、いつ何が起こっても大丈夫なようにバックアップだけはしっかりしておかなくては、と思いつつ今までまるっきり放置プレイしておりました(汗)。
データベースがBarkleyDBの場合、FTPでごそっとデータをDLしてやればバックアップ終了なんですけど、MySQLの場合、MySQLデータベースもDLしないとダメだと言う事は知っていたので、重い腰が上がらなかったんですよね。

と、そんな事ばかり言っていると、あとで痛い眼を見る事請け合いなのでMySQLデータベースのバックアップに取りかかってみました。
今回、参考にさせて頂いたのは超あか抜けサイト「Lucky bag::blog」さんの記事です。
本当にありがとうございました。

「Lucky bag::blog」さん:phpMyAdminでMySQLバックアップ

ロリポの場合、MySQLのバックアップはphpMyAdminを使用してできるとの事なので、今回はこちらのやり方をそっくりパクリましたw。
実は一番最初は「Ogawa::Memoranda」さんで配布されている「LolipopのMySQLデータベースを簡単バックアップするCGIスクリプト」を使ってやってみたのですが、私の頭が足りないせいかみごと大失敗。
動かないんですよ、全然。

と言う訳で、多少手間はかかりますが手動でバックアップを取る事に。

まるっきりe-luckさんの手順そのままなのですが、元記事の時点から微妙に画面が日本語化されているようなので、新しく現行画面をキャプって見ました。
以下自分用の覚え書き。

phpMyAdmin 2.6.1-pl2の場合

下準備(各種作業で共通)

  1. ロリポのユーザー専用ページにアクセスしログインする。
  2. 左のメニューにある「WEBツール」から「データベース作成」を選択。
  3. phpMyAdminの管理画面へ行く画面が出てくるので「phpMyAdminを開く」をクリック。この際「サーバー」と「ユーザー名」が後で必要になるのでデータを控えておく事
  4. 「phpMyAdmin 2.6.1-pl2 へようこそ」と出てくるので、まずLanguageを使用している文字コードに合わせて選択 → 「実行」をクリック。
    うちのサイトの場合「Japanese (ja-utf-8)」
  5. ユーザー名・データベース作成時に設定したパスワードを入力し、「サーバーの設定」から先ほどのサーバーを選び、「ログイン」をクリック。

MySQLデータベースをエクスポートする場合

クリックで拡大します。

  1. 左フレームから自分が今使用しているデータベースを選択しクリック。
  2. 「エクスポート」タブをクリック。
  3. 「全選択」をクリック。
  4. “「DROP TABLE」を追加”にチェックを入れる。
  5. “完全なINSERT文を作成する”にチェックを入れる。
  6. “ファイルで保存する”にチェックを入れる。
  7. 「実行」ボタンを押すと保存場所を聞いてくるので、適当に指定・保存して終了。

MySQLデータベースをインポートする場合

クリックで拡大

  1. 左フレームから自分が今使用しているデータベースを選択しクリック(丸で囲ってある灰色の部分です)。
  2. 「SQL」タブをクリック。
  3. 「参照」ボタンをクリック → ローカルに保存されているSQLファイルを選択。
  4. 実行ボタンを押して終了。

やってみると思ったより全然簡単な作業でした。
まだエクスポートしかやっていないんですけど、ものの3分もあれば終わってしまいます。
備えあれば憂いなし、と言う事で、MySQLユーザーの方はちゃんとやっておいた方がいいかと。

さらにナイスタイミングで、同じく「Lucky bag::blog」さんの所でphpMyAdminに関するエントリが上がっていたので合わせてやってみました。

「Lucky bag::blog」さん:phpMyAdminでオーバーヘッド解消

クリックで拡大

ところでphpMyAdminのオーバーヘッドって何なのかさっぱり分からなかったので、ちょいと調べてみました。
phpMyAdminを使用してデータベースを作成している場合、データレコードの再編成、削除などを繰り返し行うと、データベース内にゴミ(未使用領域)のようなものができてしまうんだそうです。
これを「オーバーヘッド」と言い、これが発生しているデータベースのテーブルについて「最適化(デフラグみたいなものかな?)」してあげると、無駄に使用している領域が整頓できてちょこっと動きが軽くなるとの事。

参考記事 「教えて!goo」:オーバーヘッドってなんですか?

もちろん、こんなの知らなかったです。
以下作業方法の自分用覚え書き(下準備は上二つと全く一緒ですが、あらかじめデータベースのバックアップは取っておいて下さい)。

  1. 左フレームから自分が今使用しているデータベースを選択しクリック。
  2. 「オーバーヘッド検査」をクリック。
  3. すぐ横にあるプルダウンボックス「チェックしたものを:」から「テーブルを最適化」を選択

これで作業は完了です。ちょっとは軽く動いてくれればいいんですけどねぇ…。

Google Adsense

Comments & Trackbacks : 10

Response from 祈由2005 年 3 月 12 日 13時47分

もそさん、こんにちは(^.^)
私もLucky bag::blogさんのエントリを参照にオーバーヘッド解消をやってみてたんですが、肝心のオーバーヘッドの意味を知らずにやってました(^^ゞ
なのでオーバーヘッドの意味をもそさんのこのエントリで初めて知りました!!
ありがとうございます★
すっごく疑問で気になる!!って思わないと調べたりしないので、ちょっと気になっても調べるくせをつけたいものです。。。

Response from Toshix2005 年 3 月 12 日 13時50分

どーも。
確かに理論上はMySQLを使う方が軽いです。
無駄な処理が少なくて済むようなので。

ただ、サーバが重い場合はどうんなに効率がいい処理をしても重いモノは重いという状態になってしまいますね。

今のロリポのSQLは負荷が高すぎてどうにもならない状態なのかも?

どちらにせよ改善してほしいですね。

Response from (o)2005 年 3 月 13 日 15時56分

ちなみにMovable Typeのようにほとんどデータを削除することのないプログラムでは、
しかも高々数MB程度では、OPTIMIZE TABLEしてもほとんど意味ないです。
あと未使用領域は再利用されますから気にしなくてもいいです。

Response from もそ2005 年 3 月 13 日 18時12分

■祈由さま
私もまるっきりの素人なので、「おーばーへっど」とか言われても、何のことだかさっぱり分からないんですよね(苦笑)。
基本的に分からない事あると気になっちゃって仕方ない(本気で分からなそうな事は放置プレイ)ので、ちょこっと調べて覚え書きしておいてみました。

■Toshixさま
そうなんですよねぇ…。
サーバー自体が重いので、どうせ私が何をやった所で無駄なんですよね(苦笑)。
焼け石に水と分かっていながら、一応パクって見たわけですが。
効果はイマイチよく分かりませんw。

■(o)さま
ありがたい助言をして頂いて感謝です。
うーん、やっぱり最適化してもあんまり意味ないですか(苦笑)。
やってみたものの、大して体感処理速度が上がってないなぁと思ってたんですよね。

知らないより知ってる方がいいって事で無理矢理納得する事にしますw。

Response from e-luck2005 年 3 月 14 日 9時32分

えーと、超あか抜けサイトってのだけは、違うと思います(笑)むしろ、逆かと。

Response from もそ2005 年 3 月 14 日 12時25分

■e-luckさま
工エエェェ(´д`)ェェエエ工 超綺麗な作りのサイトじゃないですか!
私にはこういうサイトは作れないな、って思ったとです。(結構本気)

Response from Peco Net2005 年 6 月 13 日 13時06分

MySQLのバックアップ・オーバーヘッドの解消

MTバージョンアップする前にMySQLのバックアップとオーバーヘッドの解消を実施…

Response from ブログでクチコミ サービス比較.COM2005 年 6 月 14 日 2時37分

PHPMYADMINでMySQLのバックアップ

PHPMYADMINでMySQLのバックアップを実施しておいた。 さして登録サービスが多いわけではないのだけれど、今後も定期的に行なっておく。 (消えたら泣ける…

Response from Nakamura's Weblog2007 年 11 月 17 日 16時10分

「MySQL」データベースの容量削減

このブログサイトのデータベース容量が大幅超過している件、CsideNetさんに削…

pingback Johny-kei.com » Wordpressが急に表示しなくなった謎2010 年 3 月 17 日 16時01分

[...] 参考記事 今日の覚え書き Tickler’s bunkum daysさん:phpMyAdminでMySQLのバックアップ・オーバーヘッドの解消 [...]