作家
登录

利用ProxySQL实现MySQL的读写分离

作者: 来源: 2018-01-22 11:21:27 阅读 我要评论


年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势!

 

一、Proxysql 的基本常识

ProxySQL是一个可以实现MySQL读写分别的轻量级对象。

ProxySQL的特点

  • 将所有设备保存写入到SQLit表中。
  • 支撑动态加载设备,即一般可以在线修改设备,但有少部分参数照样须要重启来生效。
  • 支撑query cache。
  • 支撑对query的路由,可以针对某个语句进行分派去哪个实例履行。
  • 故障切换。
  • 过滤危险的SQL。
  • 不支撑分表,可以分库,然则应用规矩设备实现分表。

ProxySQL的治理设备

Proxysql中有四层设备:

  • runtime:运行中应用的设备文件
  • memory:供给用户动态修改设备文件
  • disk:将修改的设备保存稻磁逄SQLit表中(即:proxysql.db)
  • config:一般不应用它(即:proxysql.cnf)

四层设备图:

注释:

  • 一般,修改的设备都是在memory层。可以load到runtime,使设备在不消重启proxysql的情况下也可以生效,也可以save到disk,将对设备的修改持久化。
  • [1] LOAD MYSQL USERS FROM MEMORY 或 LOAD MYSQL USERS TO RUNTIME

[2] SAVE MYSQL USERS TO MEMORY 或 SAVE MYSQL USERS FROM RUNTIME

[3] LOAD MYSQL USERS TO MEMORY 或 LOAD MYSQL USERS FROM DISK

[4] SAVE MYSQL USERS FROM MEMORY 或 SAVE MYSQL USERS TO DISK

[5] LOAD MYSQL USERS FROM CONFIG

二、ProxySQL的安装

安装步调:

  1. $ rpm –ivh proxysql-1.3.9-1-centos67.x86_64.rpm    // RPM安装 
  2.  
  3. $ service proxysql start                           // 启动ProxySQL 
  4.  
  5. $ rpm -ql proxysql                                 // 查看设备文件的地位 
  6.  
  7. /etc/init.d/proxysql 
  8.  
  9. /etc/proxysql.cnf 
  10.  
  11. /usr/bin/proxysql  

由此得亲信proxysql的设备文件在/etc/proxysql.cnf

  1. $ mysql -uadmin -padmin -P6032 -h127.0.0.1         // 登录,大年夜设备文件中找到默认的用户名和暗码 

ProxySQL的启动道理:

ProxySQL在启动时,会启动两个过程,监听两个端标语(6032是治理的端口;6033是对外供给办事的端口),如下图:

启动解释:

在proxysql初次启动时,会大年夜设备文件中获守信息启动;

3、创建账号,用于对外办事连接进来proxysql的┞匪号

在proxysql再次启动时,起首大年夜proxysql.cnf中找到datadir,获取proxysql.db的地位,大年夜proxysql.db获取数据,将其加载到内存memory,然后大年夜内存加载到runtime中,是以这种正常的启动,不会大年夜设备文件中获取参数。

【编辑推荐】

  1. 一篇控制MySQL,Oracle和PostgreSQL数据库体系架构
  2. SQL Server、MySQL、Oracle三种数据库的优缺点比较,这一文够了
  3. MySQL主大年夜同步架构中你不知道的“坑”
  4. MySQL的前缀索引及Oracle的类似实现
  5. 【必看】Oracle与MySQL的差别比较
【义务编辑:庞桂玉 TEL:(010)68476606】

四、总结

  • ProxySQL重要的感化是:在线修改设备使之生效 、Query路由、Query cache。个中,Query路由可以指定一个SQL放在哪个数据库上履行;Query cache可以针对及时请求很高的SQL,在Query cache中缓存一些时光。
  • 一般地,只须要将请求频繁的萌芽语句,做读的负载均衡,不频繁的可以直接在主库萌芽。
  • 对ProxySQL做HA:应用两个ProxySQL,一个对外供给办事,一个做故障切换应用。 

三、设备读写分别

机械的信息:

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)