CentOS 5.5 MariaDB 5.1.49のdaemontoolsのrun設定

 daemontoolsを使ったmariadbのrunスクリプトの設定例、handlersocketプラグイン、mycached、スレッドコネクションプーリング対応設定。

#!/bin/sh
ulimit -n 8192
(sleep 5;/usr/local/mariadb/bin/mysql -uユーザ -pパスワード -S/var/lib/mysql/mysql.sock -e "SELECT mycached_start(inet_aton('127.0.0.1'), 11211, 4)") &
exec \
setuidgid mysql \
env - PATH="/usr/local/mariadb/bin" \
mysqld \
--open-files-limit=8192 \
--max_connections=1000 \
--thread_handling=pool-of-threads \
--handlersocket_address=127.0.0.1 \
--handlersocket_port=9998 \
--handlersocket_port_wr=9999 \
2>&1

 これだとSQL実行時の子プロセスがゾンビプロセスとなって残ってしまって美しくないなぁ。--init-fileでSQLを起動時に読み込ませる方法に変更

#!/bin/sh
ulimit -n 8192
exec \
setuidgid mysql \
env - PATH="/usr/local/mariadb/bin" \
mysqld \
--open-files-limit=8192 \
--max_connections=1000 \
--thread_handling=pool-of-threads \
--handlersocket_address=127.0.0.1 \
--handlersocket_port=9998 \
--handlersocket_port_wr=9999 \
--init-file=/usr/local/mariadb/init.sql \
2>&1
SELECT mycached_start(inet_aton('127.0.0.1'), 11211, 4)