MySQL HandlerSocket 插件安装配置介绍
发布时间:2022-06-11 15:54:40 所属栏目:MySql教程 来源:互联网
导读:HandlerSocket 是MySQL的一个插件,用于跳过MySQL的SQL层面,直接访问内部的InnoDB存储引擎,下面我们来看看MySQL HandlerSocket 插件安装配置详解. 系统信息约定: 系统版本:CentOS 6.3 X86 php安装目录:/usr/local/webserver/php5318 MySQL安装目录:/usr/local
HandlerSocket 是MySQL的一个插件,用于跳过MySQL的SQL层面,直接访问内部的InnoDB存储引擎,下面我们来看看MySQL HandlerSocket 插件安装配置详解. 系统信息约定: 系统版本:CentOS 6.3 X86 php安装目录:/usr/local/webserver/php5318 MySQL安装目录:/usr/local/webserver/mysql5520 HandlerSocket安装路径:/usr/local/webserver/handlersocket 安装配置HandlerSocket 安装之前建议你先安装相关支持及需要的组件包:yum install gcc gcc-c++ libtool make openssl-devel perl-DBI perl-DBD-MySQL(如果为64bit OS注意perl-DBD-MySQL.x86_64). yum install rpm-build gperf readline-devel ncurses-devel time perl-Time-HiRes 安装:如果使用Percona Server版本的MySQL就简单了,因为它已经内置了HandlerSocket支持,不过考虑到其内置的版本不够新,存在一些早已修复的BUG,所以最好采用源代码编译,HandlerSocket是基于MySQL数据库的,因此在安装HanderSocket前需要先按照常规方式部署MySQL服务,同时需注意HandlerSocket时需要MySQL的源码,因此还需要MySQL源码编译方式安装. --with-mysql-source 指定MySQL源码所在目录 --with-mysql-bindir 表示MySQL二进制可执行文件目录 --with-mysql-plugindir 指定MySQL插件的存储路径,如果不清楚这个目录在哪,可以按如下方法查询: mysql> show variables like 'plugin%'; +---------------+-------------------------------------------+ | Variable_name | Value | +---------------+-------------------------------------------+ | plugin_dir | /usr/local/webserver/mysql5520/lib/plugin | +---------------+-------------------------------------------+ 1 row in set (0.00 sec) --phpfensi.com [root@iredmail HandlerSocket-Plugin-for-MySQL]# make 常见错误: libtool: link: only absolute run-paths are allowed make[2]: *** [handlersocket.la] Error 1 make[2]: Leaving directory `/opt/HandlerSocket-Plugin-for-MySQL/handlersocket' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/HandlerSocket-Plugin-for-MySQL' make: *** [all] Error 2 解决方法: [root@iredmail HandlerSocket-Plugin-for-MySQL]# vi handlersocket/Makefile line 301: $(handlersocket_la_LINK) -rpath $(pkgplugindir) $(handlersocket_la_OBJECTS) $(handlersocket_la_LIBADD) $(LIBS) --> $(handlersocket_la_LINK) -rpath /opt/HandlerSocket-Plugin-for-MySQL/handlersocket $( handlersocket_la_OBJECTS) $(handlersocket_la_LIBADD) $(LIBS) [root@iredmail HandlerSocket-Plugin-for-MySQL]#make install 完成后,mysql-plugindir目录下应有handlersocket相关文件. 配置MySQL,修改my.cnf配置文件: open_files_limit = 65535 # to allow handlersocket accept many concurren connections, make open_files_limit as large as possible. Tips:InnoDB的innodb_buffer_pool_size,或MyISAM的key_buffy_size等关系到缓存索引的选项尽可能设置大一些,这样才能发挥HandlerSocket的潜力. 登陆MySQL并激活HandlerSocket插件: [root@iredmail HandlerSocket-Plugin-for-MySQL]# mysql -uroot -p mysql> install plugin handlersocket soname 'handlersocket.so'; ERROR 1126 (HY000): Can't open shared library '/usr/local/webserver/mysql5520/lib/plugin/handlersocket.so' (errno: 2 cannot open shared object file: No such file or directory) 说明:这里提示没有找到handlersocket.so扩展文件,请查看扩展文件是否存在. mysql> install plugin handlersocket soname 'handlersocket.so'; Query OK, 0 rows affected (0.00 sec) mysql> quit; 至此,HandlerSocket插件安装完毕. 重启mysql服务: [root@iredmail HandlerSocket-Plugin-for-MySQL]# service mysqld restart HandlerSocket状态测试 [root@iredmail opt]# wget http://php-handlersocket.googlecode.com/files/php-handlersocket-0.3.1.tar.gz [root@iredmail opt]# tar -zxvf php-handlersocket-0.3.1.tar.gz [root@iredmail opt]# cd handlersocket/ [root@iredmail handlersocket]# /usr/local/webserver/php5318/bin/phpize [root@iredmail handlersocket]# ./configure --with-php-config=/usr/local/webserver/php5318/bin/php-config ./configure可加参数: implemented configure options source file hsclient none (default) handlersocket.cc native --disable-handlersocket-hsclient handlersocet.c Tips:If you get an error: configure: error: Can't find hsclient headers,please install libhsclient first,Or ./configure--disable-handlersocket-hsclient --with-php-config=/usr/local/webserver/php5318/bin/php-config use native type. [root@iredmail handlersocket]#make && make install A successful install will have created handlersocket.so and put it into the PHP extensions directory. You'll need to and adjust php.ini and add an extension=handlersocket.so line before you can use the extension. [root@iredmail handlersocket]# vi /usr/local/webserver/php5318/etc/php.ini extension=handlersocket.so 至此php扩展安装完成,放问php.info页面,我们可以看到已经成功加载了handlersocket扩展. (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |