linux mysql安装 读写分离_linux下安装mysql-proxy 配置读写分离
一、軟件列表
ncurses-5.7.tar.gz
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz
wget http://mirrors.dotsrc.org/mysql/Downloads/MySQL-Proxy/mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz
gettext-0.18.1.1.tar.gz
wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz
glib-2.26.1.tar.gz
wget http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.26/glib-2.26.1.tar.gz
pkg-config-0.25.tar.gz
wget http://pkg-config.freedesktop.org/releases/pkg-config-0.25.tar.gz
lua-5.1.4.tar.gz
wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
libevent-1.4.13-stable.tar.gz
wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
二、運行環境
192.168.111.101? mysql
192.168.111.102? mysql
192.168.111.103? mysql-proxy
三、安裝過程
注意:如果安裝過程中因為gcc導致不能安裝時,使用yum install gcc*或者yum update
1、安裝ncurses
./configure --prefix=/usr --with-shared &&
make &&
make install &&
chmod 755 /usr/lib/*.5.3 &&
mv /usr/lib/libncurses.so.5* /lib &&
ln -sf libncurses.a /usr/lib/libcurses.a &&
ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so &&
ln -sf ../../lib/libncurses.so.5 /usr/lib/libcurses.so
--with-shared: 使能建立共享的ncurses庫文件。
chmod 755 /usr/lib/*.5.3: 共享庫文件應該是可執行的。Ncurses 的安裝程序沒有正確設置文件權限,所以我們手動來設置好。
ln -sf libncurses.a libcurses.a: 有的程序會試圖用 -lcurses 而不是 -lncurses 來鏈接。這個符號鏈接使這種程序能正確鏈接。
2.安裝pkg-config
tar zxvf pkg-config-0.25.tar.gz
cd pkg-config-0.25
./configure
make && make install
vi /etc/profile
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
3.安裝gettext
tar zxvf gettext-0.18.1.1.tar.gz
cd gettext-0.18.1.1
./configure
make && make install
4.安裝libevent
tar zvfx libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure
make && make install
5.安裝glib
tar zxvf glib-2.26.1.tar.gz
cd glib-2.26.1
./configure
make && make install
6.安裝lua
tar zxvf lua-5.1.4.tar.gz
cd lua-5.1.4
如果是64位
vi src/Makefile
CFLAGS= -O2 -Wall $(MYCFLAGS) 改CFLAGS= -O2 -fPIC -Wall $(MYCFLAGS)
make linux
#在包含自 lua.h:16 的文件中,
#從 lua.c:15:
#luaconf.h:275:31: 錯誤:readline/readline.h:沒有那個文件或目錄
#luaconf.h:276:30: 錯誤:readline/history.h:沒有那個文件或目錄
#lua.c: In function ‘pushline’:
#lua.c:182: 警告:隱式聲明函數 ‘readline’
#lua.c:182: 警告:賦值時將整數賦給指針,未作類型轉換
#lua.c: In function ‘loadline’:
#lua.c:210: 警告:隱式聲明函數 ‘add_history’
#make[2]: *** [lua.o] 錯誤 1
#make[2]: Leaving directory `/data0/software/lua-5.1.4/src’
#make[1]: *** [linux] 錯誤 2
#make[1]: Leaving directory `/data0/software/lua-5.1.4/src’
#make: *** [linux] 錯誤 2
yum install libtermcap-devel ncurses-devel libevent-devel readline-devel
make install
cp etc/lua.pc /usr/local/lib/pkgconfig/lua5.1.pc
7.安裝MYSQL-Proxy
tar zxvf mysql-proxy-0.8.1-linux-rhel5-x86-64bit.tar.gz –C /usr/local/
cd /usr/local
mv mysql-proxy-0.8.1-linux-rhel5-x86-64bit mysql-proxy-0.8.1
vi /etc/profile
export PATH=$PATH:/usr/local/mysql-proxy-0.8.1/bin/
#查看版本
mysql-proxy -V
vi /etc/init.d/mysql-proxy
在/etc/init.d/目錄下創建mysql-proxy
#!/bin/bash
export LUA_PATH=/usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/?.lua
mode=$1
if [ -z "$mode" ] ; then
mode="start"
fi
case $mode in
start)
mysql-proxy --daemon \
--admin-username='root' \
--admin-password='123456' \
--admin-lua-script=/usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/rw-splitting.lua \
--proxy-read-only-backend-addresses=192.168.111.101:3306 \
--proxy-backend-addresses=192.168.111.102:3306 \
--proxy-lua-script=/usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/rw-splitting.lua &
;;
stop)
killall -9 mysql-proxy
;;
restart)
if $0 stop ; then
$0 start #不知道為何不生效
else
echo "retart failed!!!"
exit 1
fi
;;
esac
exit 0
運行、關閉
chmod 755 /etc/init.d/mysql-proxy
/etc/init.d/mysql-proxy start
/etc/init.d/mysql-proxy stop
測試
lsof –i:4040
mysql-proxy 默認端口為4040 4041
配置
vim /usr/local/mysql-proxy-0.8.1/share/doc/mysql-proxy/rw-splitting.lua
a. 修改如下部分代碼段:
proxy.global.config.rwsplit = {
#這樣可以進行快速測試,因為mysql-proxy要連接數達到下限時才讀寫分離
min_idle_connections = 1, #默認是4
max_idle_connections = 1, #默認是8
#打開這個選項,可以在控制臺得到很多提示,讓我們清除的看到訪問的哪個數據庫
is_debug = true
}
分享到:
2010-12-04 01:14
瀏覽 2831
分類:數據庫
評論
總結
以上是生活随笔為你收集整理的linux mysql安装 读写分离_linux下安装mysql-proxy 配置读写分离的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟机上怎么配置mysql数据库_Lin
- 下一篇: mysql server5.0使用_sc