安装oneproxy实现数据库的读写分离

领导就给了两台数据库,做主从,在从上搭建oneproxy插件,实现读写分离,一直就听说oneproxy,今天打算用一下

先下载最新的版本wget http://www.onexsoft.cn/software/oneproxy-rhel6-linux64-v5.8.2-ga.tar.gz

网上找篇文档照着改,其中遇到了许多小问题,幸亏楼方鑫给与技术支持,在这里感谢楼总的大力帮助。

先是搭建主从,然后配置读写分离文件

[oneproxy]
keepalive = 1
event-threads = 4
log-file = log/oneproxy.log
pid-file = log/oneproxy.pid
lck-file = log/oneproxy.lck

mysql-version = 5.6.27
proxy-address = :3307
proxy-master-addresses.1 = 192.168.1.119:3306@server1:2
proxy-slave-addresses.1 = 192.168.1.20:3306@server1:1

proxy-user-list = test/956C97523BADD23B6091B09E332A77B5CBDBBEEF@test
#proxy-user-group = server1:test/1378F6CC3A8E8A43CA388193FBED5405982FBBD3

 

proxy-part-template = conf/template.txt
proxy-part-tables.1 = conf/part.txt
proxy-part-tables.2 = conf/part2.txt
proxy-charset = gbk_chinese_ci
proxy-group-policy = server1:master-only

proxy-secure-client = 127.0.0.1
proxy-sequence.1 = default

remote-address = 192.168.1.119:4041
vip-address = 192.168.1.120/eth0:0

 

这其中proxy-user-list = test/956C97523BADD23B6091B09E332A77B5CBDBBEEF@test这一句最重要,今天一天出错就在这上面后面的@test是跟的数据库名称,如果数据库不存在,那么连接就有问题,连接不成功。配置就失败了。

这个配置保存的是密文,这个密文的是这样生成的。

mysql -uadmin -pOneProxy -h192.168.1.120 --port=4041

passwd'test'; 

这样就获得了test的密文了

mysql> passwd'test';
+------+------------------------------------------+
| TEXT | PASSWORD |
+------+------------------------------------------+
| test | 1378F6CC3A8E8A43CA388193FBED5405982FBBD3 |
+------+------------------------------------------+
1 row in set (0.00 sec)

启动进程在demo.sh,改下启动文件的路径,不然启动也有问题,

#/bin/bash
#
export ONEPROXY_HOME=/usr/local/oneproxy

# valgrind --leak-check=full \
${ONEPROXY_HOME}/bin/oneproxy --defaults-file=${ONEPROXY_HOME}/conf/proxy.conf

 

关闭进程ps aux | grep oneproxy | awk '{print $2}' | xargs kill -9

这样环境搭建完成,用测试账号登录,查询下show databases;没有问题就可以使用了

 

posted @ 2016-05-11 16:14  破军  阅读(591)  评论(0编辑  收藏  举报