mysql-proxy安裝配置
作者:lixiuran 日期:2014年5月2日
相關軟體包以後提供!
一、安裝前準備
1.mysql-proxy安裝前所需依賴包
libevent 1.x or higher (1.3b or later is preferred) lua 5.1.x or higher(使用5.2版本編譯時會出現大量錯誤) glib2 2.6.0 or higher pkg-config
libtool 1.5 or higher
mysql 5.0.x or higher developer files gettext 0.18.2
2.擷取依賴包及mysql-proxy:
1.libevent-2.0.21:https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
2.lua-5.1.5:http://www.lua.org/ftp/lua-5.1.5.tar.gz
3.glib-2.34.3:http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz
4.gettext-0.18.2:http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.2.tar.gz 5.mysql-5.6:http://dev.mysql.com/downloads/mysql/
6.mysql-proxy-0.8.3:http://dev.mysql.com/downloads/mysql-proxy/ 3.安裝前配置環境
1.作業系統:centos6.4 x86_64 2.執行yum install zlib* libffi* gcc gcc-c++ make autoconf automake libtool pkgconfig lrzsz xz ncurses* readline cmake
二、安裝部署依賴包 1.安裝libevent
#tar -zxvf libevent-2.0.21-stable.tar.gz #cd libevent-2.0.21-stable #./configure #make
#make install
2.安裝lua
#tar -zxvf lua-5.1.5.tar.gz #cd lua-5.1.5
#vi src/makefile(64位系統必須修改) cflags= -o2 -wall $(mycflags) 添加-fpic
cflags= -fpic -o2 -wall $(mycflags) #make linux
#make install install_top=/usr/local/lua #cp etc/lua.pc /usr/local/lib/pkgconfig/ 3.安裝glib
安裝前檢查是否有指令:msgfmt
如果沒有先安裝gettext
#tar -zxvf gettext-0.18.2.tar.gz #cd gettext-0.18.2
#./configure --prefix=/usr/local/gettext #make && make install
#ln -s /usr/local/gettext/bin/* /usr/local/bin/
安裝glib
#tar -jxvf glib-2.34.3.tar.xz #cd glib-2.34.3
#./configure --prefix=/usr/local/glib #make
#make install
4.安裝mysql(也可使用開發者庫替代)
#groupadd -g 101 mysql
#useradd -u 501 -s /sbin/nologin -g mysql mysql #mkdir -p /home/db_mysql/data
#chown -r mysql.mysql /home/db_mysql/data #tar -zxvf mysql-5.6.11.tar.gz #cd mysql-5.6.11 #cmake \
-dcmake_install_prefix=/usr/local/mysql \
-dmysql_unix_addr=/home/db_mysql/data/mysql.sock \ -dmysql_datadir=/home/db_mysql/data \ -ddefault_charset=utf8 \
-ddefault_collation=utf8_general_ci \ -denabled_local_infile=on \
-dwith_innobase_storage_engine=1 \ -dwith_archive_storage_engine=1 \ -dwith_blackhole_storage_engine=1 \ -dwith_perfschema_storage_engine=1 #make && make install
三、安裝mysql-proxy
#export pkg_config_path=$pkg_config_path:/usr/local/lib/pkgconfig
#export pkg_config_path=$pkg_config_path:/usr/local/glib/lib/pkgconfig #export lua_cflags="-i/usr/local/lua/include" #export lua_libs="-l/usr/local/lua/lib -llua -ldl" #export ldflags="-l/usr/local/lib -lm" #export cflags="-i/usr/local/lib" #tar -zxvf mysql-proxy-0.8.3.tar.gz #cd mysql-proxy
#./configure --prefix=/usr/local/mysql-proxy --with-lua=/usr/local/lua --with-mysql=/usr/local/mysql #make
#mkdir /usr/local/mysql-proxy/conf
#cp ./lib/*.lua /usr/local/mysql-proxy/conf
測試啟動
#./mysql-proxy --proxy-backend-addresses=192.168.157.130:3306 --proxy-read-only-backend-addresses=192.168.157.130:3307
--proxy-lua-script=/usr/local/mysql-proxy/conf/rw-splitting.lua 提示
2013-07-03 02:39:58: (critical) plugin proxy 0.8.3 started 啟動成功
在用戶端使用mysql -h 192.168.157.135 -p 4040(mysql-proxy的ip及監聽端口号) 若能登陸mysql則代理成功