percona mysql5.5 + Handlersocket安装与实践

1.安装percona mysql

因为percona5.5中自带了Handlersocket,所以不需要自己下载源码再进行编译,我尝试了源码编译安装,确实比较费事,所以推荐percona安装。可参考https://www.percona.com/doc/percona-server/5.6/installation/apt_repo.html

sudo apt-get update
sudo apt-get install percona-server-server5.5
sudo apt-get install percona-server-client5.5
#查询apt-get可安装列表
apt-cache search all
apt-cache search|grep percona

在安装过程中有提示输入密码。
注:在安装之前需要将之前的mysql卸载。卸载过程根据安装mysql的方式选择,可参照linux + mysql 不同版本卸载和安装。否则安装会出错。

2.启动mysql,安装Handlersocket插件

#登录mysql
mysql -u root -p
password:your-pwd
#Handlersocket插件安装
mysql>install plugin handlersocket soname 'handlersocket.so';
#Handlersocket插件卸载
mysql>uninstall plugin handlersocket

修改配置文件my.cnf

#我没有找到安装后配置文件的位置,可以自己在/etc/mysql下自己新建一个
vim /etc/mysql/my.cnf
#在此之前需要查看mysql服务器运行状态,将运行配置写入my.cnf中
service mysql status

我的配置文件my.cnf


 [mysqld]
 #按照查询的状态,基本配置,其中localname为主机名 
 basedir=/usr
 datadir=/var/lib/mysql
 plugin-dir=/usr/lib/mysql/plugin
 user=mysql
 log-error=/var/lib/mysql/localname.err
 pid-file=/var/lib/mysql/localname.pid
 #Handlersocket配置信息
 loose_handlersocket_port = 9998
 loose_handlersocket_port_wr = 9999
 loose_handlersocket_threads = 16
 loose_handlersocket_threads_wr = 1
 open_files_limit = 65535

重启mysql

service mysql restart
#查看是否激活Handlersocket成功
mysql -u root -p
password:your-pwd
mysql>SHOW PROCESSLIST; 
#出现Handlersocket线程,恭喜,配置成功-_-

3.在安装过程中难免出现问题,而mysql命令行中提示少之又少,推荐查看日志了解详细信息

#在service mysql status中有log-error一项,其中表示日志存放目录
#在配置文件中,自己也可以制定目录
[mysqld]
log-error='error-path'
tail -100 'error-path'
#例如
tail -100 /var/lib/mysql/localhost.err
#在里面就能找到错误,对症下药啦-_-

4.Handlersocket实践
参考https://huoding.com/2011/04/10/62

创建一个测试表格

CREATE TABLE IF NOT EXISTS `test`.`t` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `a` varchar(10) NOT NULL,
  `b` varchar(10) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `a_b` (`a`,`b`)
) ENGINE=InnoDB;

Telnet localhost 9999读写端口
Handlersocket协议使用

  • 打开索引:P <索引标识> <数据库> <表> <索引> <字段>
  • 插入数据:<索引标识> ‘+’ <参数个数> <参数1> … <参数N>
  • 读取数据:<索引标识> <操作> <参数个数> <参数1> … <参数N> <条数> <偏移>

操作实践

#telnet简单使用
#连接 telnet 域名/ip/主机名 端口号
telnet localhost 9999
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
#Ctrl+]退出
#在Handlersocket中,每一行是一条指令,用tab分割行中的字段
#打开test数据库中的表格t,索引为1
P   1   test    t   PRIMARY id,a,b
0   1

#插入数据,对应SQL语句为:
#INSERT INTO test.t (id, a, b) VALUES (1, "a1", "b1"), (2, "a2", "b2"), (2, "a3", "b3")
1   +   3   1   a1  b1
0   1   0
1   +   3   2   a2  b2
0   1   0
1   +   3   3   a3  b3
0   1   0

#查询数据,对应SQL语句为:
#SELECT id, a, b FROM test.t WHERE id = 1
#SELECT id, a, b FROM test.t WHERE id = 3
1   =   1   1
0   3   1   a1  b1
1   =   1   3
0   3   3   a3  ab

#范围查找,对应SQL语句为:
#SELECT id, a, b FROM test.t WHERE id >= 1 LIMIT 2
1   >=  1   1   3   0
0   3   1   a1  b1  2   a2  b2  3   a3  ab

#特定值查找,对应SQL语句为:
#SELECT id, a, b FROM test.t WHERE a = "a1" AND b = "b1" LIMIT 1
P   2   test    t   a_b id,a,b
0   1
2   =   2   a1  b1  1   0
0   3   1   a1  b1

#ctrl+]退出Handlersocket
#close 退出telnet
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值