MySQL Proxy Lua安装配置是本文要介绍的内容,关于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的***版本,如果需要历史版本的话,可以去下载。
小结:关于解析MySQL Proxy Lua安装配置的内容介绍完了,希望通过本文的学习能对你有所帮助!