查看文章 |
MySQL-Proxy的安装配置
2009年04月19日 星期日 下午 12:06
作者:老王 MySQL-Proxy的二进制版本的安装相对简单,无需多言,下面介绍的是源代码安装: 安装pkg-config: tar zxvf pkg-config-0.23.tar.gz cd pkg-config-0.23 ./configure make make install 确保PKG_CONFIG_PATH环境变量包含了相关的pkg-config配置文件路径: export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 安装libevent: tar zxvf libevent-1.4.10-stable.tar.gz cd libevent-1.4.10-stable ./configure make make install 安装glib: tar zxvf glib-2.20.0.tar.gz cd glib-2.20.0 ./configure make make install 安装lua: tar zxvf lua-5.1.4.tar.gz cd lua-5.1.4 如果你的服务器是64位的,这时要调整一下Makefile:vi src/Makefile,在CFLAGS里加上-fPIC,否则会出错: /usr/bin/ld: /usr/local/lib/liblua.a(lapi.o): relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/liblua.a: could not read symbols: Bad value 接下来不用执行常见的configure,直接make: make linux make install 安装pkg-config配置文件,以便编译mysql-proxy时能找到lua: cp etc/lua.pc /usr/local/lib/pkgconfig/lua5.1.pc 如果没有执行此步骤的话,在后面编译安装mysql-proxy的时候,会得到类似下面的错误信息: Package lua5.1 was not found in the pkg-config search path. Perhaps you should add the directory containing `lua5.1.pc' to the PKG_CONFIG_PATH environment variable No package 'lua5.1' found 安装mysql: 这里介绍的是完整安装mysql,其实你只要安装mysql开发包即可。 tar zxvf mysql-5.1.33.tar.gz cd tar zxvf mysql-5.1.33 ./configure make make install cp support-files/mysql.server /etc/init.d/mysql chown +x /etc/init.d/mysql cp support-files/my-[small|medium|large|huge|innodb-heavy-4G].cnf /etc/my.cnf 如果my.cnf里有skip-federated选项,就注释它,否则安装数据库的时候会出现类似下面的错误: [ERROR] /usr/local/libexec/mysqld: unknown option '--skip-federated' /usr/local/bin/mysql_install_db --user=mysql /usr/local/bin/mysqld_safe --user=mysql & 保证系统能找到mysql_config,后面编译mysql-proxy会用到它: export PATH=$PATH:/usr/local/bin 还要保证系统能找到mysql库文件: vi /etc/ld.so.conf 加入/usr/local/lib目录 执行:/sbin/ldconfig /etc/ld.so.conf 安装mysql-proxy: tar zxvf mysql-proxy-0.7.0.tar.gz cd mysql-proxy-0.7.0 ./configure make make install 按照官方介绍做好启动脚本/etc/init.d/mysql-proxy和参数脚本/etc/sysconfig/mysql-proxy,并设置: chmod +x /etc/init.d/mysql-proxy chkconfig --add mysql-proxy 搞定了,测试一下:/usr/local/sbin/mysql-proxy -V。官方论坛里有很多讨论,可以参阅。 注意:你的操作系统式32位还是64位 我在32位服务器上使用MySQL-Proxy,感觉非常不稳定,时不时出错: Lost connection to server during query,MySQL server has gone away 此时,MySQL-Proxy进程往往会挂掉,同时也会报类似下面的错误: network-mysqld-proxy.c.3318: COM_(0x03), packet 4 should not be (NULL|EOF), got: fffffffe 换到64位服务器后,稳定性大大提高。所以如果想在产品环境上使用MySQL-Proxy,强烈建议使用64位。 至于MySQL-Proxy版本的选择,最好各个版本的MySQL-Proxy都装上试试看,不一定是版本越高越稳定。如果把MySQL-Proxy用于读写分离目的的话,以我自己的测试结果来看,目前最稳定的版本是64位服务器下的0.6.X版本(和0.7.X比较),当然,这个结论不一定适用于你,最好自己实际动手测试看看。 补充:官方网站好像只保留MySQL-Proxy的最新版本,如果需要历史版本的话,可以去这里下载: http://mirrors.dotsrc.org/mysql/Downloads/MySQL-Proxy/ |
最近读者:

