加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读