Memcache_engine 0.7 在redhat 5 下安装总结

  今天弄了多半天,终于将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的步骤:

cd /tmp
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后的!)

   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';
       

 

  这样下来应该是没问题了,主要问题出在了编译memcache_engine时要配置的那个mysql源码路径了,配置正确就应该没问题了。

     至此,完全架设上了memcache_engine了!下面要测试了……

 

 

你可能感兴趣的:(memcache)