かみぽわーる

kamipo's blog

MySQL 5.5対応したSpiderストレージエンジンをインストールする

なんか cmake 失敗するなーと思ったら、実行権限がないディレクトリが含まれててその中のファイルが読めないのでよしなに実行権限あたえて cmake してください。 cd /usr/local/src wget "http://launchpad.net/spiderformysql/spider-2.x/2.24-for-5.5.8/+d…

SQLでincrementした値を表示するやつ

MacBook Air 11インチ欲しい!@sugyanさんのSQLでincrementした値を表示する方法を考える - すぎゃーんメモを生DBIでやってみたのとベンチマークとってみた。トランザクションなし Rate dbic teng dbi1 dbi2 dbic 578/s -- -64% -92% -92% teng 1587/s 175% …

xtrabackupをちょっと便利に使う

xtrabackupにはinnobackupexというラッパースクリプトが付属していて、MySQLのプロセスを止めることなくバックアップを取れて便利なんですが、innobackupexでバックアップ取ると以下の点が不満だったりする。 --slave-infoで生成されるCHANGE MASTER文が不完…

東急ハンズでベニヤ板を買うとき

東急ハンズでベニヤ板を275mm×440mmサイズにカットしてもらうときは12枚の倍数で買うと一番コスパがいい。12枚の倍数もいらないときは6枚の倍数で買うのがいい。

MySQL Casual Talks vol.1 おつかれさまでした

MySQL Casual Talks vol.1 おつかれさまでした!当初は開発環境や検証環境構築に便利なMySQL::Sandboxの話でもしようかなーと思ってたんですが、@myfinderさんが「SPIDERの話が聞きたい!」というので今回の発表になりました。内容は以前ブログに書いたVPとS…

ディスクのUUIDを調べる方法

Debian lennyのfstabを見ると /dev/sda1 / ext3 errors=remount-ro 0 1みたいに/dev/sda1とかでデバイスが指定されてるのだけど、UbuntuとかDebianでもsqueezeあたりだと UUID=04a6ba33-73ff-4f9f-a09b-199a83f73dd6 / ext4 errors=remount-ro 0 1みたいにUU…

YAPC::Asia 2010 おつかれさまでした

YAPC::Asia 2010 おつかれさまでした!今年のYAPCは去年のPlack/PSGIのときみたいな目新しいトピックはあまりなくて、この一年でわりと成熟したPerlの開発環境や、ふだんブログなどでは表に出てこないようなサービス運用の舞台裏的なセッションが面白かった…

VPとSPIDERを使って任意のテーブルを別ホストに移行する

MySQLのVPストレージエンジンとSPIDERストレージエンジンを使って、任意のテーブルを別ホストのMySQLに簡単に移行するスクリプトを書きました。 ※ただしPRIMARY KEYがあるものに限るVPとSPIDERを使って任意のテーブルを別ホストに移行する — Gistに置いてあ…

libjpeg-turboでjpegの変換が速くなる

巷でlibjpeg-turboというやつが速いというのを聞いたので試してみる。今回はaptで入れた以下のモジュールでベンチマークしてみた。いちおうサーバはさくらのVPSでOSはUbuntu 10.04 LTSです。 Image::Magick 6.5.7 Imager 0.72 GD 2.39 Image::Imlib2 2.02 ふ…

mycachedがmsgpack対応してた

mycachedを入れようと思ってtrunkのコード見てたら、mycachedのレスポンス形式にmsgpackが追加されてた。知らなかった。msgpack-0.4.3のインストール。 cd /usr/local/src wget http://downloads.sourceforge.net/project/msgpack/msgpack/cpp/msgpack-0.4.3…

Q4Mのインストール

cd /usr/local/src wget http://q4m.31tools.com/dist/q4m-0.9.4.tar.gz tar zxvf q4m-0.9.4.tar.gz cd q4m-0.9.4 ./configure --with-mysql=/usr/local/src/mysql-5.1.50 make && make install /usr/local/mysql/bin/mysql -u root -f -v mysql < support-f…

mysqlにhandlersocket pluginを入れる

ほぼまっさらなUbuntu 10.04 LTSにmysql-5.1.50を入れたので、リリースされたばかりのhandlersocket pluginを入れたときのログ。 付属のMakefileがインストールパス決め打ちだったので、直に/usr/local以下に入れるようにしてます。あとよくわからなくて苦労…

MySQLのconfigureオプションを知りたいとき

MySQLのバイナリパッケージとか、自分がコンパイルしてないMySQLのconfigureオプションを知りたいときはmysqlbugスクリプトを使うとよいです。 % VISUAL='grep "Configure command" 1>&2' /usr/local/mysql/bin/mysqlbug > /dev/null Configure command: ./c…

Ubuntu 10.04 LTSにgroongaストレージエンジンを入れる

さくらのVPSにUbuntu 10.04 LTSを入れたので、まっさらな状態からgroongaストレージエンジンを入れるまでのログ。groonga-0.7.6のインストール。 sudo chown kamipo /usr/local/{,*} sudo aptitude install build-essential pkg-config sudo aptitude instal…

Muninのグラフを動的生成にする

通常だとMuninは5分毎に対象ホストの全てのグラフを生成するんだけど、Debianにはmunin-cgi-graphというCGIが付いていて、オンデマンドに参照してるグラフだけを生成することができる。やり方はmunin.confに graph_strategy cgiと書くとバッチ処理で生成され…

Spiderをバイナリパッケージからインストール

今日はDeNA Technology Seminar #2ですが、皆さんSpiderの予習復習は大丈夫でしょうか。 Spiderのチュートリアルといえば@nippondanjiさんのエントリーを見るのが一番だと思いますが、ちょっと試してみたいときにmysqlのコンパイルから始めるのは大変なので…

phpの論理演算子と三項演算子

php

社内IRCでphpの論理演算子の話題が出てたので、phpで僕が嫌いな論理演算子と三項演算子の挙動について。 % perl -e 'print("hoge" || "fuga");' hoge % ruby -e 'print("hoge" || "fuga");' hoge % python -c 'print("hoge" or "fuga");' hoge % js -e 'prin…

mysqlでクエリのコメントがshow full processlistに表示されないときの対処法

人力検索twitterで聞いたらすぐ解決しました。 SELECT /*!99999 helllo world */ ... というBKがありますぉ RT @kamipo: mysqlでクエリにコメント書いても show full processlist 見るとパースされて消え去ってて無念だ…。 #mysql2010-05-26 15:39:06 via we…

MySQL(InnoDB)でCOUNTしたくないとき

たとえば、MySQL を使ったお手軽メッセージキュー実装 - ドワンゴ 研究開発ブログに出てくるようなInnoDBをメッセージキューのように使っているときに、キューにどれだけメッセージが溜まってるかを確認したいとき、普通に考えるとCOUNTすると思う。 SELECT …

InnoDB PluginとXtraDBのオプションのメモ

mysql 5.1.42 InnoDB Plugin 1.0.6 XtraDB 1.0.6-9 の場合。InnoDB -> InnoDB Pluginで増えたオプション innodb_adaptive_flushing ON innodb_change_buffering inserts innodb_file_format Antelope innodb_file_format_check Antelope innodb_io_capacity …

MariaDBでスレッドプーリングを使うには

configureオプションで--with-libeventを指定してbuildしないとスレッドプーリングは使えナッシブルです!とりあえず自分のmacbookには以下のようにして入れてます。 ./configure --prefix=/usr/local/mariadb --with-charset=utf8 --with-extra-charsets=co…

mysqld_multiの設定例

mysqld_multiでググると、そんなにブクマされてるわけでもないのに いつもid:sasata299のブログが一番上に出てくる。 mysqld_multiで複数のmysqldの一括管理 - (゚∀゚)o彡 sasata299's blog これはもう、はてダでmysqld_multiのエントリ書いたら勝つる! そこ…

git diffのメモ

git

gitにはworking copyとindexとlocal repositoryがある。はず。そんで % git diffはworking copyとindexのdiffで % git diff --cachedはindexとlocal repositoryのdiffで % git diff HEADはworking copyとlocal repositoryのdiff。で合ってると思う。

debianでiptablesのip_conntrack_maxを変更する

ip_conntrack の最大値を変更するには、/etc/sysctl.conf に次の内容を追記します。 # Maximum number of conntrack net.ipv4.netfilter.ip_conntrack_max = 524288あとは、この設定を有効にするために、次のコマンドを実行します。 $ sudo sysctl -p iptabl…

ゲートウェイサーバにncプロセスが溜まる

だいぶ前の話だけどメモ。 なんかゲートウェイのサーバにncプロセスが溜まっていくから仕方なくcronでkillall ncしてるけどこういうもんなのかな。 http://twitter.com/kamipo/status/1572388197 @kamipo ncの-w Nでタイムアウト指定しても残りますかね? ht…

rubygems 1.3.5にupdateするにはまず1.3.1にする

今までrubygems入れるときは最新のソースからcheckinstallで入れてたから気づかなかったけど、aptで入れてupdate_rubygemsしようとしたらうまいこといかなくて、調べてみたらそういうことだった。 % sudo aptitude install rubygems % sudo gem install ruby…

OSが32bitか64bitか判定する方法

twitterで教えてもらった。 % perl -le 'print "@{[~0, 2**32-1, 2**64-1]}"'~0とかいう発想は思いつかなかったなー。 参考 Twitter / hirafoo: @kamipo sizeof(long) ... Twitter / ktat: @kamipo perl -e 'print ~0' ...

WAN側にVIPで付け替えたIPにWAN側から繋がらなくて困った

そもそも繋がってる状態からだと、繋がらない状態に戻す方法がわからなくて再現手順の検証が大変だったけど、もしも同じ状況になった人がいたら、少なくとも僕はこうやったら解決できましたよというメモ。そこらへんで売ってる市販のルータでアンナンバード…

シェルでエスケープシーケンスを出力する

echoだとこんな感じ。 % echo -e "hoge\tfuga"最近のシェルだとprintfを使ったほうがいいらしい。 % printf "hoge\tfuga\n"

John the Ripperでパスワードの強度を調べる

パスワードを平文で保存しとくのはもってのほかだけども、ハッシュ化してれば見られても安心かというとそうでもない。 パスワードクラッカーのJohn the Ripperを使うと簡単なパスワードはハッシュ化しててもすぐにばれてしまう。 # aptitude install john -y…