HandlerSocketをインストールしてみる

MySQL5.6をソースからインストールしてみる
の続き

HandlerSocketをインストールしてみる。

【参考】
HandlerSocketをインストールする - 10rane.com
http://tatsuyano.github.io/blog/2013/06/10/handlersocket-install/

CentOSMySQLとHandler Socketを入れてみる - kotaroito's notes
http://kotaroito.hatenablog.com/entry/20111213/1323755054

前準備

rootになって、必要な物を入れておく。

$ su -
# yum -y install git libtool

HandlerSocketのインストール

HandlerSocketをダウンロード。

# cd /tmp
# git clone git://github.com/DeNA/HandlerSocket-Plugin-for-MySQL
下記のURLのやつでインストールしようとするとエラーになった。
$ git clone git://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL.git

インストールする。

# cd HandlerSocket-Plugin-for-MySQL/
# ./autogen.sh
# ./configure --with-mysql-source=/usr/local/src/mysql-5.6.19 --with-mysql-bindir=/usr/local/mysql/bin --with-mysql-plugindir=/usr/local/mysql/lib/plugin/
# make
# make install

インストールされているのが確認できる。

# ls /usr/local/mysql/lib/plugin/handlersocket*
/usr/local/mysql/lib/plugin/handlersocket.a
/usr/local/mysql/lib/plugin/handlersocket.la
/usr/local/mysql/lib/plugin/handlersocket.so
/usr/local/mysql/lib/plugin/handlersocket.so.0
/usr/local/mysql/lib/plugin/handlersocket.so.0.0.0

HandlerSocketの設定を追加する。

# vi /etc/my.cnf
・・・
[mysqld]
handlersocket_port = 9998
handlersocket_port_wr = 9999
handlersocket_address =
handlersocket_verbose = 0
handlersocket_timeout = 300
handlersocket_threads = 16
thread_concurrency = 128
open_files_limit = 65535

MySQLに接続して、

# mysql -u root

プラグインをインストールする。

mysql> install plugin handlersocket soname 'handlersocket.so';

インストールされているのが確認できる。

mysql> show plugins;
+----------------------------+----------+--------------------+------------------+---------+
| Name                       | Status   | Type               | Library          | License |
+----------------------------+----------+--------------------+------------------+---------+
| binlog                     | ACTIVE   | STORAGE ENGINE     | NULL             | GPL     |
| mysql_native_password      | ACTIVE   | AUTHENTICATION     | NULL             | GPL     |
| mysql_old_password         | ACTIVE   | AUTHENTICATION     | NULL             | GPL     |
・・・
| INNODB_SYS_DATAFILES       | ACTIVE   | INFORMATION SCHEMA | NULL             | GPL     |
| partition                  | ACTIVE   | STORAGE ENGINE     | NULL             | GPL     |
| handlersocket              | ACTIVE   | DAEMON             | handlersocket.so | BSD     |
+----------------------------+----------+--------------------+------------------+---------+

一応、再起動しておく。

# service mysqld restart

PHP用のHandlerSoketライブラリのインストール

今回は、MySQLと同じサーバーにインストールする。

ApachePHPが入ってないので、とりあえず入ておく。

# yum -y install httpd php-devel
# service httpd start
# chkconfig httpd on

php-handlersocketをインストールする。

# cd /tmp/
# wget https://php-handlersocket.googlecode.com/files/php-handlersocket-0.3.1.tar.gz
# tar xvzf php-handlersocket-0.3.1.tar.gz
# cd handlersocket
# phpize
# ./configure
# make
# make install

phpの設定を追加し、反映する。

# echo "extension=handlersocket.so" > /etc/php.d/hs.ini
# service httpd restart

phpinfoのページを表示させると、

# vi /var/www/html/index.php
<?php
phpinfo();

HandlerSocketが入っているのが確認できる。