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 mysqlshell> useradd -r -g mysql mysqlshell> tar zxvf mysql-5.6.13.tar.gzshell> cd mysql-5.6.13shell> cmake . -DWITH_INNODB_MEMCACHED=ONshell> makeshell> make installshell> cd /usr/local/mysqlshell> chown -R mysql .shell> chgrp -R mysql .shell> scripts/mysql_install_db --user=mysqlshell> chown -R root .shell> chown -R mysql datashell> 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 就安装完成了。下面可以进行一点测试:
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
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 表
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,就可以了。
参考
转载请注明来自lenix的博客,地址http://blog.p2hp.com/archives/4233
最后更新于 2018年4月26日


