mysql-proxy 配置


./mysql-proxy: error while loading shared libraries: libmysql-chassis.so.0: cannot open shared object file: No such file or directory

 cd /usr/lib

cp /usr/local/mysql-proxy/lib/libmysql-* .

ln -s了一堆so以后

** ERROR **: GLib version too old (micro mismatch), got: lib=2.12.3, headers=2.16.6

这个可真是头疼了!

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 –prefix=/usr –libdir=/usr/lib
make
make install

./configure –prefix=/usr –libdir=/usr/lib 很重要,否则没用!我白编译了一遍~~

然后记得在/etc/ld.so.conf中加上/usr/local/lib 然后ldconfig,这才终于算是可以用到新版本的glib了!

./mysql-proxy –daemon –keepalive –basedir=/usr/local/mysql-proxy/ –proxy-address=192.168.1.180:3306 –proxy-backend-addresses=db01:3306 –proxy-read-only-backend-addresses=db02:3306 –proxy-lua-script=lib/mysql-proxy/lua/proxy/ –log-file=/var/log/mysql-proxy.log –log-level=debug

启动了这个以后去看log

010-08-20 08:31:00: (message) proxy listening on port 192.168.1.180:3306
2010-08-20 08:31:00: (message) added read/write backend: db01:3306
2010-08-20 08:31:00: (message) added read-only backend: db02:3306
2010-08-20 08:31:22: (debug) abs wait-for-event::done            usec=       0
2010-08-20 08:31:22: (debug) abs lua-exec::done                  usec=       0

这就是成功了!o ye ~~

不过我现在用的是blance 

=/usr/local/share/mysql-proxy/rw-splitting.lua 用这个的话是读写分离的lua不过我吧debug打开以后发现他还会将大量的读打到我设置的主写服务器,估计是什么地方弄错了??
/usr/local/mysql-proxy/libexec/mysql-proxy –daemon –keepalive –basedir=/usr/local/mysql-proxy/ –proxy-address=192.168.1.180:3306 –proxy-backend-addresses=db01:3306 –proxy-read-only-backend-addresses=db02:3306 –proxy-lua-script=share/doc/mysql-proxy/rw-splitting.lua –log-file=/var/log/mysql-proxy.log –log-level=debug

测试了一下中文,直接连库没问题,通过mysql-proxy就会悲剧。。。

default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
#init-connect = SET NAMES utf8
把这个加到2台服务器的my.conf中再试试吧。。
不过我也是觉得最后这句有点问题,每个connect都发一个set name实在不怎么样,好在我去了以后也没问题,索性我就去了最后一行,效率应该能好些!
  1. No comments yet.
(will not be published)

  1. No trackbacks yet.