mysqlroute配置和使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

MySQL Router是MySQL官方推出的一个轻量级MySQL中间件是处于应用client和dbserver之间的轻量级代理程序,它能检测,分析和转发查询到后端数据库实例,并把结果返回给client。是mysql-proxy的一个替代品.但是和mysql-proxy有区别。mysqlroute使用了两个端口进行读写分离

默认端口号 作用 说明
7001 默认的是读写端口 mode = read-write默认情况下第一台主数据库为写主库,当第一台主数据库DOWN机后,第二台数据库被提升为主库,如果第一台不出问题,第二台是不会被使用的。可以作高可用使用
7002 默认是读端口 如果设置以后,根据设置的列表进行轮询使用

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

cd /usr/local/ && tar -zxvf mysql-router-2.0.4-linux-glibc2.12-x86-64bit.tar.gz

ln -s   mysql-router-2.0.4-linux-glibc2.12-x86-64bit/  mysql-router

2.创建必要的文件,复制配置文件

mkdir /etc/mysql-route/

mkdir /var/log/mysql-route

chown mysql:mysql /var/log/mysql-route

cp /usr/local/mysql-router/share/doc/mysqlrouter/sample_mysqlrouter.ini /etc/mysql-route/mysqlrouter.conf

mysqlrouter.conf修改

[DEFAULT]logging_folder = /var/log/mysql-route

plugin_folder = /usr/local/mysql-router/lib/mysqlrouter

config_folder = /etc/mysql-route

runtime_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

8、启动mysqlrouter

mysqlrouter --config /usr/local/mysqlrouter/etc/mysqlrouter.conf &

测试通过mysqlrouter这个中间件来连接mysql库

mysql -h127.0.0.1 -uappuser -p123456 -e"show databases;" -P7001




     本文转自yzy121403725 51CTO博客,原文链接: http://blog.51cto.com/lookingdream/1923707 ,如需转载请自行联系原作者


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
348
分享
相关文章
|
11月前
|
VLANIF配置
VLANIF配置
127 0
Duwamish深入剖析-配置篇
Duwamish深入剖析-配置篇 摘要: 本文详细介绍了Duwamish网上电子书店的Web.config配置文件的结构处理方式以及用途,阐述了配置文件的各功能模块中的作用。 目录: 引言 配置节处理程序声明 自定义配置节 配置节处理程序 总结 参考资料 作者 引言: 几乎在每本介绍Asp.
649 0
ActionBarSherlock的使用--------(一)配置
  ActionBarSherlock的使用——(一)配置  简介: 从android 3.0开始,android加入了一个新的api,actoinbar,随着android 4.0的发布和慢慢的推广开来,很多应用也开始使用google推广的ui设计,而actionbar是其中相当重要的一部分。
1135 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等