首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql读写分开的安装和配置(mysql_proxy)

2012-12-28 
mysql读写分离的安装和配置(mysql_proxy)modestart fi case $mode in start) mysql-proxy --daemon \

mysql读写分离的安装和配置(mysql_proxy)
mode="start"
fi
case $mode in
'start')
mysql-proxy --daemon \
--admin-address=:4401 \
--proxy-address=:3307 \
--proxy-backend-addresses=192.168.0.111:3306 \
--proxy-read-only-backend-addresses=192.168.0.113:3306 \
--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua
;;
'stop')
killall mysql-proxy
;;
'restart')
if $0 stop ; then
$0 start
else
echo "retart failed!!!"
exit 1
fi
;;
esac
exit 0
5.给脚本执行权限

chmod +x /etc/init.d/mysql-proxy
启动脚本解释如下:
--daemon 采用daemon方式启动
--admin-address=:4401 指定mysql-proxy的管理端口,在这里,表示本机的4401端口
--proxy-address=:3307 指定mysql-proxy的监听端口(客户端连接指定的端口)--proxy-backend-addresses=192.168.0.111:3306 指定写操作mysql主机的端口
--proxy-read-only-backend-addresses=192.168.0.112:3306 指定只读的mysql主机端口
--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua 指定lua脚本,在这里,使用的是rw-splitting脚本,用于读写分离.
完整的参数可以运行以下命令查看:
mysql-proxy --help-all
6.修正rw-splitting.lua脚本
vi /usr/local/share/mysql-proxy/rw-splitting.lua

276-282行修改成如下:
if cmd.type ~= proxy.COM_INIT_DB and
c.default_db and c.default_db ~= s.default_db then
print(" server default db: " .. s.default_db .. "'")
print(" client default db: " .. c.default_db .. "'")
print(" syncronizing")
proxy.queries:prepend(2,string.char(proxy.COM_INIT_DB) ..c.default_db)
end
这个就解决了ERROR 1105 (07000): can't change DB to on slave xxx.xxx.xxx.xxx:3306的问题。

7.启动和关闭命令:
/etc/init.d/mysql-proxy start
/etc/init.d/mysql-proxy stop

8.客户端测试

mysql -u tongbu --port=3307 -h 192.168.0.112 -D tongbu

热点排行