Mysql 官方Memcached 插件安装与使用

一、安装

1.从源码安装 要求MYSQL 5.6 或MYSQL 5.7

过程很简单,只要激活了WITH_INNODB_MEMCACHED即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> tar zxvf mysql-5.6.13.tar.gz
shell> cd mysql-5.6.13
shell> cmake . -DWITH_INNODB_MEMCACHED=ON
shell> make
shell> make install
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> bin/mysqld_safe --user=mysql &
shell> cp support-files/mysql.server /etc/init.d/mysql.server

MySQL安装完毕后,需要导入Memcached插件所需要的表结构:

2.非编译安装的也可以按以下激活

1
mysql> SOURCE /usr/local/mysql/share/innodb_memcached_config.sql

或者 mysql> SOURCE /usr/share/mysql/innodb_memcached_config.sql;

一切就绪后就可以激活Memcached插件了(当然也可以禁止):

1
2
mysql> INSTALL PLUGIN daemon_memcached soname "libmemcached.so";
mysql> UNINSTALL PLUGIN daemon_memcached;

说明:以后一旦修改了原本已存在的Memcached插件的配置信息,均需要使用如上命令来重启Memcached插件(先uninstall,再install),以便让修改生效。

完成上面两步之后,mysql memcached 就安装完成了。下面可以进行一点测试:

SQL代码
telnet localhost 11211    
    
set test 0 0 2    
11    
STORED    
get test    
VALUE test 0 2    
11    
END    

说明set 和 get 已经能够正常使用了。

二 说明

进入mysql 客户端,show databases; 后,你会发现多了一个库innodb_memcache

SQL代码
mysql> use innodb_memcache;    
Database changed    
mysql> show tables;    
+---------------------------+    
| Tables_in_innodb_memcache |    
+---------------------------+    
| cache_policies            |    
| config_options            |    
| containers                |    
+---------------------------+    
3 rows in set (0.00 sec)    

上述三张表都为memcached 的配置信息,分别存放cache 策略、配置和容器信息。先看containers 表

SQL代码
mysql> select * from containers;    
+------+-----------+-----------+-------------+---------------+-------+------------+--------------------+------------------------+    
| name | db_schema | db_table  | key_columns | value_columns | flags | cas_column | expire_time_column | unique_idx_name_on_key |    
+------+-----------+-----------+-------------+---------------+-------+------------+--------------------+------------------------+    
| aaa  | test      | demo_test | c1          | c2            | c3    | c4         | c5                 | idx                    |    
+------+-----------+-----------+-------------+---------------+-------+------------+--------------------+------------------------+    
1 row in set (0.00 sec)    
注意:一定要事先安装 libevent 
如在ubuntu 下安装
  • sudo apt-get install libevent-dev

说明,通过memcached set 的数据,我们看到,存入的数据都放在test 库中的demo_test 表中,同时key 存放在表的c1 字段里,value 存放在c2 字段里。

注意:如果出现存入的数据出现乱码,一般是test 库中的demo_test 表中的c2字段太小的原因,改大一些如65535,就可以了。

参考

MySQL中InnoDB的Memcached插件的使用教程

 

Mysql 官方Memcached 插件使用体验

 

转载请注明来自lenix的博客,地址http://blog.p2hp.com/archives/4233

最后更新于 2018年4月26日

Mysql 官方Memcached 插件安装与使用
标签: