今天弄了多半天,终于将memcache_engine 0.7 安装上了!
关于memcache_engine的内容网上比较少,估计用的也不是很多,但是发现了牛人张宴的blog上有完整的安装过程,于是就按他的方法安装,但是中间可谓是一波三折……
memcached已经装好了,本来也部署好了libmemcached,但是张宴的bolg上却讲libmemcached的与后面需要的libxml、libxmlrow部署到了一起,所以就再安装一遍,这里选用的是0.26版本。
这里再总结一下安装步骤,要装mysql,所以我也临时装了mysql,这里选用的版本是目前最稳定的mysql 5.1.30,但是memcache_engine 0.7的readme却说尽量不要用5.1版本(汗……),但是旧的版本我找不到源代码了,而编译这个要用到mysql的源代码,所以还是用5.1.30吧,由于是在虚拟机中编译,所以速度慢很多,于是我同时找到了二进制版本和源代码版,安装就是用的二进制版本了。
一. 安装mysql
1.用tar解压,这里就不再赘述。
2.[root@localhost mysql-5.1.30-linux-i686-glibc23]# mv mysql-5.1.30-linux-i686-glibc23/ /usr/local/mysql
[root@localhost mysql-5.1.30-linux-i686-glibc23]# cd /usr/local/mysql
3.[root@localhost mysql-5.1.30-linux-i686-glibc23]# groupadd mysql
[root@localhost mysql-5.1.30-linux-i686-glibc23]# useradd -g mysql mysql
4.[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
5.[root@localhost mysql]# chown -R mysql .
[root@localhost mysql]# chgrp -R mysql .
[root@localhost mysql]# scripts/mysql_install_db –user=mysql
6.[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data
7.还是启动mysql,如果出错就这样做:
[root@localhost log]# mkdir /var/run/mysqld
[root@localhost log]# cd /var/run/mysqld
[root@localhost mysqld]# touch mysqld.pid
[root@localhost mysqld]# chown -R mysql mysqld.pid
[root@localhost mysqld]# cd /usr/local/mysql
8.还是启动并设密码:[root@localhost mysql]# bin/mysqld_safe –user=mysql &
[root@localhost mysql]# bin/mysqladmin -u root password 123
如果出错就执行(多半是这个原因,网上说的很多了,这里我的实际方案和网上大部分的不同,仅作参考):
[root@localhost mysql]# ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
9.设置密码登陆就能使用了:
[root@localhost mysql]# bin/mysqladmin -u root password 123
[root@localhost mysql]# bin/mysql -u root -p
二.安装memcache_engine 及相关依赖
这里主要参考的是张宴大牛的blog(http://blog.s135.com/read.php/357.htm)
1、编译安装memcache_engine的步骤:
wget http://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的步骤省略,注意不要以静态方式编译安装。
wget http://download.tangent.org/libmemcached-0.23.tar.gz
tar zxvf libmemcached-0.23.tar.gz
cd libmemcached-0.23/
./configure --prefix=/usr/local/memcache_engine
make
make install
cd ../
wget http://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 ../
wget http://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 ../
wget http://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以上版本的源码路径。(自己补充:这里十分重要,是源代码版本的,最好configure后的!)
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语句:
4、查看libmemcache_engine.so插件是否安装成功的SQL语句:
SHOW PLUGINS;
5、创建一张memcache_engine表的SQL语句:
`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';
这样下来应该是没问题了,主要问题出在了编译memcache_engine时要配置的那个mysql源码路径了,配置正确就应该没问题了。
至此,完全架设上了memcache_engine了!下面要测试了……
本文详细记录了memcache_engine0.7版本的安装过程,包括所需的mysql、libmemcached及其它依赖库的安装步骤。特别强调了正确配置MySQL源码路径的重要性。
118

被折叠的 条评论
为什么被折叠?



