MySQL读写分离之mysql-proxy

学习版本:mysql-proxy-0.8.5-1.el6.x86_64

环境准备:

  MySQL_A(10.0.13-MariaDB)读写:n1.test.com;172.16.2.11

  MySQL_B(10.0.13-MariaDB)只读:n2.test.com;172.16.2.12

  MySQL-proxy(0.8.5):n3.test.com;172.16.2.13

mysql-proxy:

epel源:yum -y install mysql-proxy

使用官方二进制格式文件中的rw-splitting.lua脚本进行读写分离

# mysql-proxy --help-all        ==>命令帮助

配置文件:/etc/mysql-proxy.cnf

[mysql-proxy]
daemon = true
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug        #调试级别
max-open-files = 1024
plugins = admin,proxy
user = mysql-proxy
#
#Proxy Configuration
proxy-address = 0.0.0.0:3306        #代理服务监听的地址和端口
proxy-backend-addresses = 172.16.2.11:3306        #支持读写操作的后端mysql                       
proxy-read-only-backend-addresses = 172.16.2.12:3306        # 只读后端
#proxy-lua-script = 
proxy-lua-script = /usr/lib64/mysql-proxy/lua/rw-splitting.lua        #读写分离脚本
#proxy-skip-profiling = true
#
# Admin Configuration
admin-address = 0.0.0.0:4041        #msyql-prxoy连入的管理端口
admin-lua-script = /usr/lib64/mysql-proxy/lua/admin.lua         #msyql-prxoy连入的管理脚本位置
admin-username = admin         #msyql-prxoy连入的管理帐号
admin-password = admin         #msyql-prxoy连入的管理密码

mysql-proxy.cnf

后端主机需要创建授权帐号

  • mysql> GRANT ALL ON *.* TO [email protected]‘172.16.%.%‘ IDENTIFIED BY ‘cm‘;
  • mysql> FLUSH PRIVILEGES;

在mysql-proxy发起查询或修改语句

  • # mysql -uroot -h172.16.2.13 -pcm -e ‘SHOW DATABASES;‘
  • # mysql -uroot -h172.16.2.13 -pcm -e ‘CREATE DATABASE test9;‘
  • 在后端的mysql能看到创建的数据库test9

本机登陆mysql-proxy管理

  • # mysql -uadmin -padmin -p4041 -h172.16.2.13

本机登陆后mysql-proxy后获取帮助

  • mysql> SELECT * FROM help

本机登陆后mysql-proxy后查询后端节点

  • mysql> SELECT * FROM backends;


获取【下载地址】     【免费支持更新】
A 代码生成器(开发利器);全部是源码  
   增删改查的处理类,service层,mybatis的xml,SQL( mysql   和oracle)脚本,   jsp页面 都生成
   就不用写搬砖的代码了,生成的放到项目里,可以直接运行
B 阿里巴巴数据库连接池druid;
  数据库连接池  阿里巴巴的 druid。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势
C 安全权限框架shiro ;
  Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安全,更可靠
D ehcache 分布式缓存;
  是一个纯Java的进程内缓存框架,具有快速、精干等特点,广泛使用的开源Java分布式缓存。

时间: 2024-10-10 06:38:52

MySQL读写分离之mysql-proxy的相关文章

实现MySQL读写分离,MySQL性能调优

实现MySQL读写分离 1.1 问题 本案例要求配置2台MySQL服务器+1台代理服务器,实现MySQL代理的读写分离: 用户只需要访问MySQL代理服务器,而实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成 其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询 1.2 方案 使用4台RHEL 7.2虚拟机,如图-1所示.其中192.168.4.10.192.168.4.20分别作为MySQL主.从服务器,是整个服务的后端:另一台 192.168.4.100

Database基础(六):实现MySQL读写分离、MySQL性能调优

一.实现MySQL读写分离 目标: 本案例要求配置2台MySQL服务器+1台代理服务器,实现MySQL代理的读写分离: 用户只需要访问MySQL代理服务器,而实际的SQL查询.写入操作交给后台的2台MySQL服务器来完成 其中Master服务器允许SQL查询.写入,Slave服务器只允许SQL查询 方案: 使用4台RHEL 7.2虚拟机,如下图所示.其中192.168.4.10.192.168.4.20分别作为MySQL主.从服务器,是整个服务的后端:另一台 192.168.4.100作为MyS

6\MySQL 主从同步 、 MySQL 读写分离 、 MySQL 性能调优

day06一.mysql主从同步 二.数据读写分离三.MySQL优化++++++++++++++++++++++++++++++++一.mysql主从同步 1.1 主从同步介绍?从库服务器自动同步主库上数据(被客户端访问的数据库服务器做主库服务器)1.2 结构 54 55 systemctl start mysqld systemctl start mysqld主master数据库服务器 从slave数据库服务器 1.3 配置主从同步结构?1.3.1主库角色主机的配置1 用户授权mysql> g

mysql读写分离amoeba实现

用amoeba配合mysql主从构建mysql读写分离 1 mysql主从配置 mysql master192.168.11.177 mysql slave192.168.11.178 amoeba 主机192.168.11.179 俩台虚拟机上 yum install mysqlmysql-serevr mysql-devel(没有用,防止以后用) /etc/init.d/mysqldstart mysqladmin -u rootpassword '123456' chkconfig mys

Mysql读写分离方案-MySQL Proxy环境部署记录

Mysql的读写分离可以使用MySQL Proxy和Amoeba实现,其实也可以使用MySQL-MMM实现读写分离的自动切换.MySQL Proxy有一项强大功能是实现"读写分离",基本原理是让主数据库处理写方面事务,让从库处理SELECT查询:Amoeba for MySQL是一款优秀的中间件软件,同样可以实现读写分离,负载均衡等功能.下面重点说下Mysql Proxy: MySQL Proxy处于客户端应用程序和MySQL服务器之间,通过截断.改变并转发客户端和后端数据库之间的通信

关于Mysql Proxy LUA实现Mysql读写分离

关于Mysql Proxy LUA读写分离是本文要介绍的内容,主要是来了解Mysql Proxy LUA的学习内容,具体内容来看本文详解,先来下载匹配的版本: http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/ 下载最新版的二进制版本以mysql-proxy-0.8.0-linux-glibc2.3-x86-32bit为例.www.lua.org 下载lua. 1.通过mysql代理mysql-proxy来实现mysql的读写分离. MyS

MySQL学习笔记之十:使用mysql-proxy实现MySQL读写分离

MySQL读写分离是指让master处理写操作,让slave处理读操作,非常适用于读操作量比较大的场景,可减轻master的压力. 本文使用mysql-proxy实现mysql的读写分离,mysql-proxy实际上是作为后端mysql主从服务器的代理,它直接接受客户端的请求,对SQL语句进行分析,判断出是读操作还是写操作,然后分发至对应的mysql服务器上.对于多节点slave集群,还可以起到负载均衡的效果. 一.准备实验环境 MySQL的主从复制架构搭建详见http://9124573.bl

Mysql-Proxy实现mysql读写分离、负载均衡 (转)

在mysql中实现读写分离.负载均衡,用Mysql-Proxy是很容易的事,不过大型处理对于性能方面还有待提高,主要配置步骤如下: 1.1. mysql-proxy安装 MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负 载平衡.对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MySQL Proxy的监听端口即可.当

mysql读写分离 mysql-proxy

一.介绍 MySQL代理是一个介于MySQL客户端和MySQL服务器之间的简单程序,可用来监视.分析或者传输他们之间的通讯.他的灵活性允许你最大限度的使用它,这些包括负载平衡.容错 .分析查询和修正等等: MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡.对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MyS

构建高性能web之路------mysql读写分离实战

一个完整的mysql读写分离环境包括以下几个部分: 应用程序client database proxy database集群 在本次实战中,应用程序client基于c3p0连接后端的database proxy.database proxy负责管理client实际访问database的路由策略,采用开源框架amoeba.database集群采用mysql的master-slave的replication方案.整个环境的结构图如下所示: 实战步骤与详解 一.搭建mysql的master-slave