percona mysql5.5 + Handlersocket安装与实践

来源:互联网 发布:怎么提升淘宝排名 编辑:程序博客网 时间:2024/06/14 02:14

1.安装percona mysql

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

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

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

2.启动mysql,安装Handlersocket插件

#登录mysqlmysql -u root -ppassword: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 -ppassword:your-pwdmysql>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 9999Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.#Ctrl+]退出#在Handlersocket中,每一行是一条指令,用tab分割行中的字段#打开test数据库中的表格t,索引为1P   1   test    t   PRIMARY id,a,b0   1#插入数据,对应SQL语句为:#INSERT INTO test.t (id, a, b) VALUES (1, "a1", "b1"), (2, "a2", "b2"), (2, "a3", "b3")1   +   3   1   a1  b10   1   01   +   3   2   a2  b20   1   01   +   3   3   a3  b30   1   0#查询数据,对应SQL语句为:#SELECT id, a, b FROM test.t WHERE id = 1#SELECT id, a, b FROM test.t WHERE id = 31   =   1   10   3   1   a1  b11   =   1   30   3   3   a3  ab#范围查找,对应SQL语句为:#SELECT id, a, b FROM test.t WHERE id >= 1 LIMIT 21   >=  1   1   3   00   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 1P   2   test    t   a_b id,a,b0   12   =   2   a1  b1  1   00   3   1   a1  b1#ctrl+]退出Handlersocket#close 退出telnet
0 0
原创粉丝点击