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/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)