mysqlroute配置和使用之一
来源:互联网 发布:用微信能在淘宝网购物 编辑:程序博客网 时间:2024/06/15 15:40
MySQL Router是MySQL官方推出的一个轻量级MySQL中间件是处于应用client和dbserver之间的轻量级代理程序,它能检测,分析和转发查询到后端数据库实例,并把结果返回给client。是mysql-proxy的一个替代品.但是和mysql-proxy有区别。mysqlroute使用了两个端口进行读写分离
MySQL Router接受前端应用程序请求后,根据不同的端口来区分读写,把连接读写端口的所有写和查询发往主库,把连接只读端口的查询以轮询方式发往多个从库,从而实现读写分离的目的。读写返回的结果会交给MySQL Router,由MySQL Router返回给客户端的应用程序。
我理解的是mysql-proxy在使用的时候与连接单台数据库操作一样,而mysql route则是把多台主机的读写集中在一起,进行读写分离,在使用的时候还是需要程序进行改动。具体性能测试,在接下的文章中会慢慢测试
安装可以使用多种方式,因为测试我选择了二进制包
安装包下载:
http://dev.mysql.com/downloads/router/
文档:
http://downloads.mysql.com/docs/mysql-router-en.pdf
我选择了二进制安装:
系统是centos7-1604-mini
1.下载
cd /usr/local/ && wget -c https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-2.0.4-linux-glibc2.12-x86-64bit.tar.gz
1.解压
cd /usr/local/ && tar -zxvf mysql-router-2.0.4-linux-glibc2.12-x86-64bit.tar.gzln -s mysql-router-2.0.4-linux-glibc2.12-x86-64bit/ mysql-router
2.创建必要的文件,复制配置文件
mkdir /etc/mysql-route/mkdir /var/log/mysql-routechown mysql:mysql /var/log/mysql-routecp /usr/local/mysql-router/share/doc/mysqlrouter/sample_mysqlrouter.ini /etc/mysql-route/mysqlrouter.conf
mysqlrouter.conf修改
[DEFAULT]logging_folder = /var/log/mysql-routeplugin_folder = /usr/local/mysql-router/lib/mysqlrouterconfig_folder = /etc/mysql-routeruntime_folder = /var/run/[logger]level = INFO# 主节点故障转移配置[routing:basic_failover]# 写节点地址bind_address=0.0.0.0# 写节点端口bind_port = 7001# 模式,读写mode = read-write# 默认情况下第一台主数据库为写主库,当第一台主数据库DOWN机后,第二台数据库被提升为主库destinations = 192.168.10.191:3306# 从节点负载均衡配置[routing:balancing]# 绑定的IP地址bind_address=0.0.0.0# 监听的端口bind_port = 7002# 连接超时时间connect_timeout = 3# 最大连接数max_connections = 1024# 后端服务器地址.默认读进行轮询destinations = 192.168.10.192:3306,192.168.10.191:3306# 模式:读还是写mode = read-only[keepalive]interval = 60
使用supervisor进行控制
[program:mysqlroute]command=/usr/local/mysql-router/bin/mysqlrouter -c /etc/mysql-route/mysqlrouter.confautostart = trueautorestart=trueredirect_stderr=truestdout_logfile=/dev/stdoutstdout_logfile_maxbytes=0
注意事项。mysql集群中的账号密码要保持一致,mysqlroute是进行代理使用,不需要事先知道后端的mysql密码,这个和mycat有些区别
- mysqlroute配置和使用之一
- [ActiveRecord] 之一:初始化和配置
- JavaScript之一:简介和使用
- VIM使用系列之一——配置VIM下编程和代码阅读环境
- VIM使用系列之一——配置VIM下编程和代码阅读环境
- VIM使用系列之一——配置VIM下编程和代码阅读环境
- VIM使用系列之一——配置VIM下编程和代码阅读环境
- VIM使用系列之一—配置VIM下编程和代码阅读环境
- 【Vim】Vim使用笔记之一——安装和配置Vim
- VIM使用系列之一—配置VIM下编程和代码阅读环境
- DuiLib使用教程之一---环境配置
- Nginx 使用之一(server参数配置)
- Ant学习总结之一:安装和配置
- Handler和Message的使用之一
- Snappy压缩库安装和使用之一
- Snappy压缩库安装和使用之一
- 四大组件之一 --Services介绍和使用
- Markdown的使用之一:表格和公式
- 面向对象(基础一)
- 关于编译器和解释器区别的形象故事
- DigestUtil
- javascript运算符心得笔记
- 51nod贪心1
- mysqlroute配置和使用之一
- python环境搭建
- CVE-2014-0160浅析-OpenSSL数组越界访问(Heartbleed心脏滴血)漏洞
- CSS3的圆角Border-radius
- LeetCode : Best Time to Buy and Sell Stock II
- C# 6 与 .NET Core 1.0 高级编程
- 并查集水题
- 负载均衡之HTTP重定向
- cpp——类——作用域 名字查找