2010-08-01から1ヶ月間の記事一覧

CentOS 5.5 MariaDB 5.1.49にUDF base64_encodeを入れてみるその2

前回はbase64_encodeしか入れられなかったので、別のbase64のUDFのインストールを試みる。前回はgccのライブラリを使うものだったが、今回はphpのソースからの移植のようだ。 cd /usr/local/src wget http://bugs.mysql.com/file.php?id=3294 -O base64.c gc…

CentOS5.5 MariaDB 5.1.49にgroonga ストレージエンジンをインストール

groonga ストレージエンジンはgroognaをストレージエンジンとして動作させるプラグインです。今までMySQLで日本語全文検索というと、Senna+Tritonnという形でしたが、今後はSennaの後継 groogna+groogna ストレージエンジンがデファクトとなっていくのかも…

CentOS5.5にgroonga 1.0.0をインストール

groongaは、全文検索エンジンSennaの後継であり、位置情報を格納できるといった特徴を持つKVS*1です。こちらをcentosにインストールしてみましょう。日本語の形態素解析が必要な場合事前にMeCabのインストールが必要となります。 cd /usr/local/src wget htt…

CentOS 5.5 に形態素解析ライブラリMeCab 0.98を入れてみる

CentOSに形態素解析ライブラリMeCabをインストールします。 ダウンロード MeCab本体とIPA辞書をダウンロード wget 'http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmecab%2Ffil…

CentOS 5.5 MariaDB 5.1.49にUDF base64_encodeを入れてみる

UDFの勉強を兼ねてshimariso さんが作成したUDF base64のMySQLに Base64エンコード関数が無くてムカついたから作ったこちらをインストールしてみる。 cd /usr/local/src git clone git://gist.github.com/361481.git cd 361481 g++ \ -I /usr/include/glib-2…

CentOS 5.5に正規表現ライブラリ 鬼車 4.7.1 をインストールしてみる。

正規表現ライブラリといえば、Perl準拠のPCREが有名ですが、プログラミング言語RUBY*1で採用されているマルチバイト正規表現ライブラリ鬼車をインストールしてみる。 wget http://www.geocities.jp/kosako3/oniguruma/archive/onig-4.7.1.tar.gz tar xvzf on…

CentOS 5.5 MariaDB 5.1.49にUDF mregexpを入れてみる

MySQLのデフォルトの正規表現検索 REGEXPでは日本語を扱えないので、UDF*1でこれを実現したmregexp - MySQLで日本語の正規表現を扱うをMariaDBにインストールしてみる。尚、MariaDB 5.1はMySQL 5.1相当なので、動作検証はされていない。 事前に4.x系の鬼車が…

裏MySQLクエリー入門 HANDLER構文を使ったレコードの超高速ランダム取得

以下のORDER BY RAND()を使ったランダム取得は便利なのですが、インデックスが使用されず、フルスキャンになる為パフォーマンスが思わしくありません。 SELECT * FROM user ORDER BY RAND() LIMIT 1 いくつかのこの問題を解決するアプローチがありましたが、…

handlersocket pluginの特徴

前々回のエントリー、HANDLER構文と同じくHANDLERを使ってストレージエンジンを直接操作するといったところは同じなのでこれをベースにして、handlersocket pluginではさらに低レベルの操作が可能になっています。またHANDLER構文と違って、参照系だけでなく…

裏MySQLクエリー入門 関数を単体で実行する DO構文

DO構文 例えば、mycacheのポートを立ち上げる場合などで結果が必要ない場合などに便利です。 SELECT mycached_start(inet_aton('127.0.0.1'), 11211, 4) ↓ DO mycached_start(inet_aton('127.0.0.1'), 11211, 4) SLEEP SELECT SLEEP(10) ↓ DO SLEEP(10)

裏MySQLクエリー入門 低レベルレイヤーでのデータベース操作 HANDLER構文

今回は、handlersocket pluginの元となるものといっても差し支えのないHANDLER構文について解説したいと思います。HANDLER構文はMySQLのストレージエンジンを直接操作するSQLです。1つのSQL文をMySQLに投げた時の内部処理*1を実行できるイメージです。具体的…

CentOS 5.5 MariaDB 5.1.49のdaemontoolsのrun設定

daemontoolsを使ったmariadbのrunスクリプトの設定例、handlersocketプラグイン、mycached、スレッドコネクションプーリング対応設定。 /usr/local/mariadb/run #!/bin/sh ulimit -n 8192 (sleep 5;/usr/local/mariadb/bin/mysql -uユーザ -pパスワード -S/v…

CentOS 5.5 MariaDB 5.1.49にHandlerSocket-Pluginを入れてみる

DeNAの開発者blogに告知されていないように思えるのだが、8/15には公開されていたらしいHandlerSocket-Pluginを遅らせばながらインストールしてみる。インストール方法については以下のブログを参考にさせてもらった。 mysqlにhandlersocket pluginを入れる …

CentOS 5.5 MariaDB 5.1.49にmycacheを入れてみる

こちらも特に問題なくインストールできた。 cd /usr/local/src/mycache g++ -DMYCACHED_USE_EPOLL=1 -shared -fPIC -Wall -g -O2 \ -I ../mariadb-5.1.49/include \ -I ../mariadb-5.1.49/sql \ -I ../mariadb-5.1.49/regex \ mycached_as_udf.cc -o mycache…

CentOS 5.5のMaria DB 5.1.49にQ4Mをインストール

今更ですがCentOS 5.2からCentOS 5.5にアップグレードしたIT7Cです。そうしたら何故か原因不明のエラーでmysqlが立ち上がらなくなって*1しまったので仕方なくMariaDBに環境を移すことになりました。まずはq4mをインストールしてみます。 ./configure \ --wit…

CentOS 5.2 MySQL 5.1.44にmycacheを入れてみる2

ソースのIPアドレスがうまく調整できないのでソースを見てみる。 mycache.cc 496行目 thread_t::start_server(unsigned host, unsigned short port, int num_threads) ↓intを追加 thread_t::start_server(unsigned int host, unsigned short port, int num_t…

CentOS 5.2 MySQL 5.1.44にmycacheを入れてみる

CodezineのSQLをショートカットしてパフォーマンスを向上させるプラグインで紹介されていた樋口証氏の『MySQL handlersocket plugin』が面白そうだったので試してみたいと思っていたのですが、まだ、一般公開はされていません。※ 今後ディー・エヌ・エーの技…

CentOS 5.2にMariaDB 5.1.49をソースから入れてみる。

MySQLの原作者、MontyさんことMichael Widenius氏がMySQLよりフォークして作ったMariaDBを入れてみる。みなさんもご存知の通りMySQL(Sun)がOracleに買収されて、MySQLの先行きが不透明な状況です。そのような状況の中、原作者のMontyさんがMySQLよりフォーク…

MySQL ソースからbuild時にconfigureの一部オプションが認識されなくなる問題

MySQL ソースからbuild時にconfigureの一部オプションが認識されなくなる問題 5.1.31以降から5.1.45まで続いている。原因はautoconfのバージョンアップに伴なうもの。

MySQLでdaemontoolsを使う

cat /usr/local/mysql/run #!/bin/sh ulimit -n 8192 exec \ setuidgid mysql \ env - PATH="/usr/local/mysql/bin" \ mysqld --open-files-limit=8192 --max_connections=1000 \ 2>&1 cat /usr/local/mysql/log/run #!/bin/sh exec \ setuidgid mysql \ mul…

CentOS 5.2 MySQL 5.1.44にQ4Mを入れる

Q4Mはサイボウズラボの奥 一穂氏が開発した、MySQLのストレージエンジンとして使用できるメッセージキューです。詳細については以下のウノウラボさんの記事が参考になりますので、こちらをご覧ください。 Q4Mを触ってみる インストールの前提条件として、MyS…

CentOS 5.2 MySQL 5.1.44にSpider +VPを入れる

漢のコンピューター道さんのまるで魔法のようなストレージエンジン??VP for MySQLによる驚愕のテーブル操作テクニック。のエントリーを参考に、VPも一緒に入れてみる。 VP公式ホームページ

CentOS 5.2にlibtool 1.5.26をインストール

MySQLのコンパイルで必須みたいなので、一応最新版を入れておく。旧バージョンの残骸を処分するのも面倒なのでrpmやyumでインストールされた旧バージョンを上書きする設定にした。『--prefix=/usr』 wget http://ftp.gnu.org/gnu/libtool/libtool-1.5.26.tar…

CentOS 5.2 MySQL 5.1.44にSpiderを入れる

Spiderストレージエンジンについては以下のブログの方を参照して頂くとして、Spiderの最新版を入れてみます。 国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く 快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!…

CentOS 5.2 にopenssl 0.9.8gをインストール

wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz tar zxvf openssl-0.9.8g.tar.gz cd openssl-0.9.8g ./config --prefix=/usr/local make make install shared ライブラリも作成しておく ./config --prefix=/usr/local shared make make install

CentOS 5.2 にlibssh2 0.18をインストール

コンパイルに必要なのでopensslを先に入れておく。sharedライブラリとしてコンパイルが必要。既にOpenSSLがyumで入っている場合競合するので『--with-openssl=/usr/local』の指定を忘れないこと。 cd /usr/local/src wget http://nchc.dl.sourceforge.net/so…

CentOS 5.2 にcURL 7.21.1をインストール

cd /usr/local/src wget http://curl.haxx.se/download/curl-7.21.1.tar.gz tar zxvf curl-7.21.1.tar.gz cd curl-7.21.1 ./configure \ --prefix=/usr/local \ --with-ssl=/usr/local/ssl \ --with-libssh2=/usr/local configure: error: libSSH2 libs and/…

CentOS 5.2でbazaarをインストール

bazaarホームページ rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm yum install -y bzr

CentOS 5.2でMySQL 5.1.49をソースからインストール

wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.49.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/ tar xvzf mysql-5.1.49.tar.gz cd mysql-5.1.49 autoconf ここでエラーが発生、autoconfのバージョンが足りませんかそうですか aclocal.m4…

CentOS 5.2にm4 1.4.14をインストール

cd /usr/local/src wget ftp://ftp.gnu.org/gnu/m4/m4-1.4.14.tar.gz tar zxvf m4-1.4.14.tar.gz cd m4-1.4.14 ./configure --prefix=/usr/local/ make make install cd .. こちらを参考に、旧バージョンの残骸を処分 rm -f /usr/bin/m4 cp /usr/local/bin/m…