在centos 5.2下安装最新的mysql proxy

mysql proxy的代码树已经迁移到lauchpad,采用bazaar进行版本管理。参考了一些文档,在centos 5.2下编译安装最新mysql proxy成功。步骤记录如下(在centos 5下应该也适用):

首先让EPEL (Extra Packages for Enterprise Linux) repository 生效

 # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm 

确定这些包已经安装:GNU Autotools, flex, pkg-config, bazaar, MySQL client libraries

 # yum install autoconf automake libtool flex pkgconfig bzr mysql-devel 

centos下自带的libevent版本超老,这个没有别的办法,只能自己重新编译,版本需要在1.4.0以上,越高越好


$ wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz 
$ tar zvfx libevent-1.4.9-stable.tar.gz 
$ cd libevent-1.4.9-stable 
$ ./configure 
$ make 
# make install

centos自带的glib版本也比较老,mysql proxy 0.7.0以上需要glib2 2.16.0以上才能编译成功,因此不得不重新编译glib


$ wget http://ftp.gnome.org/pub/gnome/sources/glib/2.18/glib-2.18.4.tar.gz 
$ tar zvfx glib-2.18.4.tar.gz 
$ cd glib-2.18.4 
$ ./configure 
$ make 
# make install

编译安装lua 5.1


$ wget http://www.lua.org/ftp/lua-5.1.4.tar.gz 
$ tar zvfx lua-5.1.4.tar.gz 
$ cd lua-5.1.4 
$ vi src/Makefile 

在CFLAGS里加上-fPIC,因为我在64位机上编译出现了“relocations”错误


$ make linux 
# make install 
# cp etc/lua.pc /usr/local/lib/pkgconfig/

重要:让pkg-config找到自己编译的库在哪里


$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

最后,从bazaar中检出最新的mysql-proxy源文件进行编译:


$ bzr branch lp:mysql-proxy 
$ cd mysql-proxy 
$ ./autogen.sh 
$ ./configure 
$ make 
# make install

编译完成,可以检查一下最终结果:


# mysql-proxy -V

mysql-proxy 0.7.0
  glib2: 2.18.4
  libevent: 1.4.9-stable
  admin: 0.7.0
  proxy: 0.7.0

配置启动脚本,在系统启动时运行mysql-proxy


cd /etc/init.d
wget http://customcode.googlecode.com/files/mysql-proxy
chmod 0755 /etc/init.d/mysql-proxy 
chkconfig mysql-proxy on 

增加运行参数


cat >/etc/sysconfig/mysql-proxy 

# Options to mysql-proxy 
# do not remove --daemon 
PROXY_OPTIONS="--daemon" 

CTRL+D保存,然后就可以使用以下命令启动|停止mysql-proxy


/etc/init.d/mysql-proxy start|stop

参考文档:
How to Compile and Install MySQL Proxy from Bazaar on CentOS 5.2

作者: 发表于March 14, 2009 at 10:09 pm

版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原始出处作者信息及此声明

Tags: ,

2 条评论

  1. 蓝金伟 于 2011-01-13 @ 12:09:51 留言

    Retrieving http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
    error: skipping http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm – transfer failed – Unknown or unexpected error

    第一步就失败

  2. Volcano 于 2011-01-13 @ 13:01:14 留言

    现在epel 5.2的rpm貌似已经下载不到了,不过5.4是可用的

    su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'

RSS 为此帖反馈评论