MySQL中中InnoDB的的Memcached插件的使用教程插件的使用教程
安装安装
为了让文章更具完整性,我们选择从源代码安装MySQL,需要注意的是早期的版本有内存泄漏,所以推荐安装最新的稳定
版,截至本文发稿时为止,最新的稳定版是5.6.13,我们就以此为例来说明,过程很简单,只要激活了
WITH_INNODB_MEMCACHED即可:
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插件所需要的表结构:
mysql> SOURCE /usr/local/mysql/share/innodb_memcached_config.sql
一切就绪后就可以激活Memcached插件了(当然也可以禁止):
mysql> INSTALL PLUGIN daemon_memcached soname "libmemcached.so";
mysql> UNINSTALL PLUGIN daemon_memcached;
说明:以后一旦修改了原本已存在的Memcached插件的配置信息,均需要使用如上命令来重启Memcached插件(先
uninstall,再install),以便让修改生效。
Memcached插件相关的配置信息如下,具体介绍可以参考官方文档:
mysql> SHOW VARIABLES LIKE '%memcached%';
+----------------------------------+------------------+
| Variable_name | Value |
+----------------------------------+------------------+
| daemon_memcached_enable_binlog | OFF |
| daemon_memcached_engine_lib_name | innodb_engine.so |
| daemon_memcached_engine_lib_path | |
| daemon_memcached_option | |
| daemon_memcached_r_batch_size | 1 |
| daemon_memcached_w_batch_size | 1 |
+----------------------------------+------------------+
注意:daemon_memcached_r_batch_size和daemon_memcached_w_batch_size,这两个选项对性能影响较大,简单点说
就是控制事务提交的频率,MySQL的缺省值均为1,也就是说每次都提交,这主要是从安全性考虑的,大家可以依照自己的情
况来调整。
差不多了,此时Memcached端口应该准备就绪了,你可以试试看:
shell> echo "stats" | nc localhost 11211
换句话说,MySQL已经兼容Memcached协议,可以直接使用Memcached命令。
配置配置
在安装步骤里,我们导入了一个名为innodb_memcached_config.sql的脚本,它创建了一库(innodb_memcache)三表
(cache_policies, config_options, containers):
mysql> USE innodb_memcache
mysql> SHOW TABLES;
+---------------------------+
| Tables_in_innodb_memcache |
+---------------------------+
| cache_policies |