memcache
鉴于国内外还没有人撰写如何安装memcache_engine的文章,于是,我根据自己的编译安装步骤,写下此文。
memcache_engine是一个mysql 5.1数据库的存储引擎,它能够让用户通过标准的sql语句(select/update/inserte/delete)访问memcached(还支持新浪的memcachedb、dbcached)中存放的数据。
限制:
1、memcache表必须有主键。
2、只能使用主键去查询,即只能使用select ... from ... where id = ... 方式去查询。
3、不支持自增id。
安装与使用:
1、编译安装memcache_engine的步骤:
cd /tmp
wgethttp://dev.mysql.com/get/downloads/mysql-5.1/mysql-5.1.26-rc.tar.gz/from/http://mirror.x10.com/mirror/mysql/
tar zxvf mysql-5.1.26-rc.tar.gz
#安装、配置mysql的步骤省略,注意不要以静态方式编译安装。
wgethttp://download.tangent.org/libmemcached-0.22.tar.gz
tar zxvf libmemcached-0.22.tar.gz
cd libmemcached-0.22/
./configure --prefix=/usr/local/memcache_engine
make
make install
cd ../
wgethttp://xmlsoft.org/sources/libxml2-2.6.32.tar.gz
tar zxvf libxml2-2.6.32.tar.gz
cd libxml2-2.6.32/
./configure --prefix=/usr/local/memcache_engine
make
make install
cd ../
wgethttp://download.tangent.org/libxmlrow-0.2.tar.gz
tar zxvf libxmlrow-0.2.tar.gz
cd libxmlrow-0.2/
export pkg_config_path=/usr/local/memcache_engine/lib/pkgconfig/
./configure --prefix=/usr/local/memcache_engine
make
make install
cd ../
wgethttp://download.tangent.org/memcache_engine-0.7.tar.gz
tar zxvf memcache_engine-0.7.tar.gz
cd memcache_engine-0.7/
sed -i s#uint16_t#uint32_t#g ./src/ha_memcache.cc
export pkg_config_path=/usr/local/memcache_engine/lib/pkgconfig/
./configure --prefix=/usr/local/memcache_engine --with-mysql=/tmp/mysql-5.1.26-rc
make
make install
cd ../
注意:红色标记部分为mysql 5.1.22以上版本的源码路径。
2、拷贝libmemcache_engine.so到mysql默认插件目录(假设mysql安装在/usr/local/mysql目录下):
mkdir -p /usr/local/mysql/lib/mysql/plugin/
cp /usr/local/memcache_engine/lib/libmemcache_engine.so.0.0.0 /usr/local/mysql/lib/mysql/plugin/libmemcache_engine.so
3、安装libmemcache_engine.so插件的sql语句:
install plugin memcache soname 'libmemcache_engine.so';
4、查看libmemcache_engine.so插件是否安装成功的sql语句:
select * from mysql.plugin;
show plugins;
5、创建一张memcache_engine表的sql语句:
create table `table` (
`id` int(11) not null default '0',
`a` int(11) default null,
`b` int(11) default null,
primary key (`id`)
) engine=memcache default charset=latin1
connection='localhost:11211'