さくらのサーバにMySQL Proxyを入れてみる

WordPressをちょっとチューニングしてみたいと思ったので、
自動バージョンアップされても影響受けなそうな、DB周りをいじってみたいと思います。

どのテーブルにどんなクエリがどのくらいくるの?っていうのを把握したいので、
MySQL Proxyを入れてみました。さくらのレンタルサーバですが、怒られたりしないかな・・・?

※これを参考に同じことをやってみたい人は自己責任でお願いします。

  • インストール
  • MySQL Proxyはαバージョンです。
    まだ、バグ等あるかもしれませんので、商用利用のサイトでは使用は避けた方が良さそうですが、
    ブログくらいだったら全然問題ないですね。

    まずはMySQLの公式サイトからダウンロードしてきます。link : MySQL Proxy Alpha
    とりあえず最新版でいいですね

    自分の場合はFreeBSD 7.1だったので”FreeBSD 7 (32 bit)” のリンクからダウンロード。
    一応さくらのサーバにSSHして確認してみたらいいと思います。

    tar.gz ファイルがダウンロードできたら、適当な場所にFTPなどで転送しましょう。
    wwwの下じゃなければどこでもいいです。 /home/username 直下でかまわないと思います。

    置けたら tar コマンドで展開して、mysql-proxyのディレクトリを作りましょう。
    mv で名前を変えてもいいんですが、バージョンアップもあるかもしれないので、
    今回はリンクを貼るだけにしました。

    user% cd $HOME
    user% tar zxpvf mysql-proxy-0.7.2-freebsd7-x86-32bit.tar.gz
    user% ln -s mysql-proxy-0.7.2-freebsd7-x86-32bit mysql-proxy

    これでインストール完了。これだけです。
    mysql-proxy のコマンド自体は、 /home/username/mysql-proxy/sbin/mysql-proxy になります。

  • 起動
  • 次に起動方法ですが、Mysql Proxy は設定を増やすと
    どんどん起動コマンドのお尻が長くなってしまうので、
    まずは設定を記述するためのファイルの作成から。

    user% cd $HOME/mysql-proxy
    user% vi mysql-proxy.cnf

    ↑ エディタだったら何でもいいです。
    ローカルで書いてFTPしてもいいです。内容は以下。

     [mysql-proxy]
    daemon = true
    pid-file = $HOME/mysql-proxy/mysql-proxy.pid
    log-file = $HOME/mysql-proxy/mysql-proxy.log
    log-level = debug
    proxy-address = 127.0.0.1:3306
    proxy-backend-addresses=mysqlXXX.db.sakura.ne.jp
    proxy-lua-script = $HOME/mysql-proxy/share/doc/mysql-proxy/histogram.lua

    $HOMEとproxy-backend-addressesは自分の環境に合わせて書き換えてください。

    log-levelは、自分の場合いろいろ見たいのでdebugにしてますが、
    興味ない人は infoかwarningくらいにしておけばいいでしょう。

    proxy-addressは 127.0.0.1:4040 がmysql-proxy のデフォルトです。
    変更したい場合はしてもいいと思いますが、ポート番号は3306にしておきましょう。
    ポート番号を変えるとWordPress 側に入っていない設定入れることになるので、
    おすすめしません。

    proxy-lua-scriptは、当初の目的の
    どのテーブルにどんなクエリがどのくらいくるの?っていう解析をするためのスクリプトです。
    最初からおまけとしてついてくるのがうれしいですよね!

    ファイルの作成が完了したら起動してみましょう。

    user% $HOME/mysql-proxy/sbin/mysql-proxy --defaults-file=$HOME/mysql-proxy/mysql-proxy.cnf
    user% ps aux | grep mysql

    これでmysql-proxyのプロセスが見えたらOK。

    設定に変更を加える場合は、設定ファイルを書き換え後、一旦プロセスを切ってから起動しなおして下さい。

    user% kill -9 `cat $HOME/mysql-proxy/mysql-proxy.pid`

    ※WordPressの接続をMySQL Proxy経由にした後は、不用意に切らないこと。

    接続できるか確かめてみたい場合は、普段使用している接続文字列のホスト名の部分を、
    mysqlXXX.db.sakura.ne.jp から 127.0.0.1 に変更してみて下さい。

まずはここまで。
WordPress側の設定については、次に書こうと思います。

カテゴリー: MySQL   タグ: , , ,   この投稿のパーマリンク

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">