« 祝新年快楽 2007 | メイン | 初笑い »
2007年1月 1日
ロリポップ MYSQLのデータベース鯖を移すの巻
私は、レンタルサーバとしてロリポップを利用しているのですが、安かろう重かろう…という事でサーバに過負荷が掛かってると感じる時が多くあります。
特に、Blogの更新の時には泣かされます。
データベースをMySQLではなくてSQLiteに変えようかとも考えたのですが、他の手段を試してからでも遅くは無いと思い探していました。
そうすると、「ロリポのMySQLサーバ移動 → 動作劇的改善」というエントリーを見つけたので、移動してみました。
更新プロセスは引用させてもらいます。
| (0. 念のためMovable Type自体のバックアップをしておく。 左バナーの「ユーティリティ」>「読み出し/書き出し」をクリック、「エントリーの書き出し」タブをクリック、「・・・からエントリーを書き出す」ボタンを押す) 1. ロリポップのphpMyAdminへログイン 2. 旧データのエクスポート 3. ロリポップユーザページで古いDBを削除、新しいDBを作成 4. 新しいDBにデータをインポート 5. Movable Typeの設定変更 |
というのも、phpMyAdmin上からでは2Mbyte(2048Kbyte)以上のファイルはインポート出来ないのです。そこで、同じようなBlogシステムであるWordPressのデータバックアップをしているEZ-INFOさんの手法を利用させてもらいました。
エクスポートファイルを分割するために利用したエディターソフトはTeraPadを利用しました。エクスポートファイル(*.sqlファイル)を2MByte以内に納めるように分割していきます。
具体的には次のルールを適用しましょう。
●分割したファイルの一番最初が以下のように
DROP TABLE IF EXISTS `mt_category`;
CREATE TABLE `mt_category`(****)**;
といったブロックで始まる場合には、ファイルの先頭に「USE データベース名;」 を書き込む
例:
USE LA****;
DROP TABLE IF EXISTS `mt_category`;
CREATE TABLE `mt_category`(****)**;
●また、以下のブロックの途中ではファイルを分割しないこと。
DROP TABLE IF EXISTS `mt_category`;
CREATE TABLE `mt_category`(****)**;
●INSERT INTO の周辺ではファイルを分割しても良いが、INSERTからセミコロン;までの間では区切って分割しない事。
例:右文の途中ではファイルを分割しない → INSERT INTO `mt_comment` (****);
インポートし終わったら、バックアップ前のテーブル数とインポート後のテーブル数が同数である事を確認してください。また、ダブルチェックの意味を含めて、インポート完了後のデータファイルを再度エクスポートしてみて、バックアップ前のファイル容量と比較してください。容量がほぼ同じであれば大丈夫でしょう。(念のため、ファイルの中身をエディタで確認して、どの程度違うかを確認すると尚良いでしょう。数行程度の違いしかなければ問題無いでしょう。)
<余談ですが・・・>
なんで、ブログシステムがこんなに重たくなるのでしょう。ブログをそんなに頻繁に更新している人が居るとは思いません。そうだとすると、鯖が重たくなる理由は、スパムトラックバックやスパムコメントによる影響と考えて間違いないでしょう。日にスパムトラックバック・コメントが合わせて400個程打ち込まれているので、それを処理するだけでもウェブ鯖が重たくなります。
更に、古いシステムを利用している場合は、スパムコメント・トラックバックが来てもウェブを更新してしまうのでウェブサーバが激しく重たくなります。こう考えると、スパムコメントやスパムトラックバックを打ち込んでいる業者は業務妨害として訴えられるべきだと思いますが…。
投稿者 cazper : 2007年1月 1日 20:39
|
Tweet
トラックバック
このエントリーのトラックバックURL:
http://www.cazoo.jp/cgi/mt/mt-tb.cgi/1280