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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com