安装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;没有问题就可以使用了
安装oneproxy实现数据库的读写分离的更多相关文章
- 利用oneproxy部署mysql数据库的读写分离
实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP分配如拓扑 实验软件:mariadb-10.0.20 oneproxy-rhel ...
- Mycat - 实现数据库的读写分离与高可用
前言 开心一刻 上语文课,不小心睡着了,坐在边上的同桌突然叫醒了我,并小声说道:“读课文第三段”.我立马起身大声读了起来.正在黑板写字的老师吓了一跳,老师郁闷的看着我,问道:“同学有什么问题吗?”,我 ...
- 如何轻松实现MySQL数据库的读写分离和负载均衡?
配置好了 Mysql 的主从复制结构后,我们希望实现读写分离,把读操作分散到从服务器中,并且对多个从服务器能实现负载均衡.读写分离和负载均衡是 Mysql 集群的基础需求,MaxScale 就可以帮着 ...
- Docker安装Mycat并实现mysql读写分离,分库分表
Docker安装Mycat并实现mysql读写分离,分库分表 一.拉取mycat镜像 二.准备挂载的配置文件 2.1 创建文件夹并添加配置文件 2.1.1 server.xml 2.1.2 serve ...
- MySQL搭建主从数据库 实现读写分离
首先声明,实际生产中,网站为了提高用户体验,性能等,将数据库实现读写分离是有必要的,我们让主数据库去写入数据,然后当用户查询的时候,然后在从数据库读取数据,故能减轻数据库的压力,实现良好的用户体验! ...
- 基于 EntityFramework 的数据库主从读写分离服务插件
基于 EntityFramework 的数据库主从读写分离服务插件 1. 版本信息和源码 1.1 版本信息 v1.01 beta(2015-04-07),基于 EF 6.1 开发,支持 EF 6.1 ...
- 基于 EntityFramework 的数据库主从读写分离架构 - 目录
基于 EntityFramework 的数据库主从读写分离架构 回到目录,完整代码请查看(https://github.com/cjw0511/NDF.Infrastructure)中的目 ...
- 基于 EntityFramework 的数据库主从读写分离架构(1) - 原理概述和基本功能实现
回到目录,完整代码请查看(https://github.com/cjw0511/NDF.Infrastructure)中的目录: src\ NDF.Data.EntityFramew ...
- springboot+mybatis实现数据库的读写分离
介绍 随着业务的发展,除了拆分业务模块外,数据库的读写分离也是常见的优化手段.方案使用了AbstractRoutingDataSource和mybatis plugin来动态的选择数据源选择这个方案的 ...
随机推荐
- C# 静态类与非静态类、静态成员的区别分析
静态类静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量.在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化 ...
- HtmlHelp
@Html.Label("Label", "Label") @*渲染成<label for="Label">Label</ ...
- 手工启动oracle EM
在WINDOWS上安完ORACLE发现没有EM没有启动,在网上找了一个手工启动的方法,试了,在WIN下同样可用. 人家的原文如下: oracle@linux:~> sqlplus/ as sys ...
- OC准备知识
#import 与 #include区别 include完成头文件的导入,可能会导致头文件的相互引用和函数或变量的重复定义 为了解决这个问题 我们必须这样做 #ifndef Student_h #de ...
- spring的IOC,DI及案例详解
一:spring的基本特征 Spring是一个非常活跃的开源框架:它是一个基于Core来架构多层JavaEE系统的框架,它的主要目的是简化企业开发.Spring以一种非侵入式的方式来管理你的代码,Sp ...
- 层次节点——NODE节点
1.html <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...
- Laravel Packages 开发
Packages是向Laravel中添加功能最重要的途径.composer.json中require的都是包.关于包的详细说明请查看 API . 下面一起创建一个简单的Package : 1. 环境配 ...
- python GUI学习——Tkinter
支持python的常见GUI工具包: Tkinter 使用Tk平台 很容易得到 半标准 wxpython 基于wxWindows.跨平台越来越流行 Python Win 只能在Windows上使用 使 ...
- 翻译题(map使用)
What Are You Talking About 点我 Problem Description Ignatius is so lucky that he met a Martian yesterd ...
- 关于web的流程
1.先确定好样式,布局,风格 2.之后的页面只是加一些HTML标签而已.