mysql读写分离

学习历程-02DBProxy

ぃ、小莉子 提交于 2020-02-28 18:52:50
DBProxy是一个位于前端应用与后端MySQL数据库之间的中间件,它使得应用程序员无需再关心读写分离、分表等与MySQL相关的细节,可以专注于编写业务逻辑,同时使得DBA的运维工作对前端应用透明,上下线DB前端应用无感知。 DBProxy 的前身是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目Atlas。Atlas是在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。Atlas项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。 美团点评 自2015年在开源Atlas版本基础上进行了开发,满足了公司内部各项业务的场景需求,最终演化成了美团点评内部使用的中间件DBProxy。 参考链接: https://www.cnblogs.com/olinux/p/6626347.html https://blog.csdn.net/w892824196/article/details/82658764 https://github.com/IronsDu/DBProxy https://www.jianshu.com/p/733f96700d53 https://github.com/IronsDu/DBProxy 来源:

MySQL之数据库优化

人走茶凉 提交于 2020-02-27 04:39:10
Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 •表的设计合理化(符合3NF) •添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引] •分表技术(水平分割、垂直分割) •读写[写: update/delete/add]分离 •存储过程 [模块化编程,可以提高速度] •对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] •mysql服务器硬件升级 •定时的去清除不需要的数据,定时进行碎片整理(MyISAM) 数据库优化工作 对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作: ① 数据库设计 ② sql语句优化 ③ 数据库参数配置 ④ 恰当的硬件资源和操作系统 此外,使用适当的存储过程,也能提升性能。 这个顺序也表现了这四个工作对性能影响的大小 数据库表设计 通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通 俗地理解是够用的理解,并不是最科学最准确的理解): 第一范式:1NF是对属性的原子性约束,要求属性(列)具有原子性,不可再分解;(只要是关系型数据库都满足1NF) 第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

MySQL 中间件 - DBLE 简单使用

假装没事ソ 提交于 2020-02-26 23:04:55
DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus”;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持; 环境准备 DBLE项目资料 DBLE官方网站:https: //opensource.actionsky.com 可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础 DBLE官方项目:https: //github.com/actiontech/dble 如对源码有兴趣或者需要定制的功能的可以通过源码编译 DBLE下载地址:https: //github.com/actiontech/dble/releases 建议下载最新的releases版本,下载tar压缩包即可,如有源码编译需求的,可以下载源码包 DBLE社区交流: 669663113 安装JDK环境 DBLE是使用java开发的,所以需要启动dble需要先在机器上安装java版本1.8或以上,并且确保JAVA_HOME参数被正确的设置; 这里通过yum源的方式安装了openjdk,同学们可以自行google jdk的几百种安装方式,这里不在赘述; # yum install java-1.8.0-openjdk 确认java环境已配置完成 # java -version openjdk

开源分布式中间件 DBLE 快速入门指南

强颜欢笑 提交于 2020-02-26 23:00:22
GitHub:https://github.com/actiontech/dble 官方中文文档:https://actiontech.github.io/dble-docs-cn/ 一、环境准备 DBLE项目资料 安装JDK环境 二、安装DBLE 三、配置DBLE 应用场景一:数据拆分 应用场景二:读写分离 四、总结 环境准备 DBLE 项目资料 DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus” ;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持; DBLE官方网站: https://opensource.actionsky.com 可以详细了解DBLE的背景和应用场景,本文不涉及到的细节都可在官方文档获得更细节都信息;对于刚了解到同学,可以以本文为快速入门基础 DBLE 官方项目: https://github.com/actiontech/dble 如对源码有兴趣或者需要定制的功能的可以通过源码编译安装 DBLE 下载地址: https://github.com/actiontech/dble/releases DBLE 官方社区交流群 :669663113 安装 JDK 环境 DBLE 是使用 java 开发的,所以启动 DBLE 需要先在机器上安装 java 版本 1.8 或以上,并且确保 JAVA_HOME

Consul, ProxySQL and MySQL MHA(mysql 读写分离,高可用)

雨燕双飞 提交于 2020-02-26 16:04:31
背景: mysql 官方目前没有提供比较成熟,稳定的高可用的方案,使得Mysql的高可用方案相对较少,一般都只有简单的主从,今天和大家分享一个Consul, ProxySQL and MySQL MHA架构的高可用方案: 架构特性: 1,高可用 2,读写分离,查询路由 3,sql过滤等功能 Installation of Consul: Firstly, we’ll need to install the required packages, download the Consul archive and perform the initial configuration. We’ll need to perform the same installation on each of the nodes (i.e., appserver, mysql1 and mysql2). Install pre-requisite packages: sudo yum -y install wget unzip bind-utils dnsmasq Install Consul: sudo useradd consul sudo mkdir -p /opt/consul /etc/consul.d sudo touch /var/log/consul.log /etc/consul.d

mysql主从复制读写分离之——proxysql应用

北战南征 提交于 2020-02-26 16:04:24
一、说明 ProxySQL是一个开源的MySQL代理服务器,这意味着它充当MySQL服务器和访问其数据库的应用程序之间的中介。ProxySQL可以通过在多个数据库服务器池之间分配流量来提高性能,并且如果一个或多个数据库服务器发生故障,还可以通过自动故障切换到备用数据库来提高可用性。 系统环境:master1:ubuntu16.04 mysql5.6 192.168.1.10 3307 master2:ubuntu16.04 mysql5.6 192.168.1.20 3307 slave1: ubuntu16.04 mysql5.6 192.168.1.10 3308 slave2: ubuntu16.04 mysql5.6 192.168.1.10 3309 slave3: ubuntu16.04 mysql5.6 192.168.1.20 3308 slave4: ubuntu16.04 mysql5.6 192.168.1.20 3309 【proxysql】:ubuntu16.04 mysql 192.168.1.30 3306 master1与master2为双主双从模式。 主从复制前边文章和网上文章都特别详细。这里不做介绍。请参考https://blog.51cto.com/13120271/2140400。 第一步 - 安装ProxySQL

MySQL使用ProxySQL实现读写分离

本秂侑毒 提交于 2020-02-26 16:04:18
1 ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。 官方文档: https://github.com/sysown/proxysql/wiki/ 下载地址: https://github.com/sysown/proxysql/releases/ 2 环境: 系统:CentOS7.5 ProxySQL版本:proxysql-1.4.8-1-centos7.x86_64.rpm Mysql版本:MySQL 5.7.22 ProxySQL主机IP:192.168.1.101 Mysql主库IP:192.168.1.102 Mysql从库IP:192.168.1.103 3 前提条件: 防火墙和selinux已关闭; Mysql主从同步已经配置完成; 4 安装ProxySQL: 4.1 安装 # 配ProxySQL源 [root@ProxySQL ~]# cat <<EOF | tee /etc/yum.repos.d/proxysql.repo [proxysql_repo] name= ProxySQL baseurl=http://repo.proxysql.com/ProxySQL/proxysql-1.4.x/centos/\$releasever gpgcheck=1 gpgkey=http://repo.proxysql.com

MySQL读写分离(ProxySQL)

六眼飞鱼酱① 提交于 2020-02-26 16:01:55
MySQL读写分离(ProxySQL) 读写分离原理 读写分离就是用户在发送请求时,请求经过中间件,中间件将请求中的读和写操作分辨出来将读请求发送给后端的从服务器,将写请求发送给后端的主服务器,再又主服务器通过主从复制将数据复制给其他从服务器 常见MySQL中间件 名称 公司 站点地址 mysql-proxy Oracle https://downloads.mysql.com/archives/proxy Atlas Qihoo https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md dbproxy 美团 https://github.com/Meituan-Dianping/DBProxy Cetus 网易乐得 https://github.com/Lede-Inc/cetus Amoeba https://sourceforge.net/projects/amoeba/ Cobar 阿里巴巴 Amoeba的升级版 Mycat 基于Cobar http://www.mycat.io ProxySQL https://proxysql.com/ 本文以ProxySQL为例来介绍读写分离的使用方法 ProxySQL简介 ProxySQL为MySQL的中间件,其有两个版本官方版和percona版

Mysql使用ProxySQL实现读写分离

本秂侑毒 提交于 2020-02-26 15:59:58
ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎。 详细的中文介绍: 别人写的,基本跟官方无差别 官方文档: https://github.com/sysown/proxysql/wiki/ 下载地址: https://github.com/sysown/proxysql/releases 准备工作 本文所用环境: 系统均为CentOS7.4,并且关闭防火墙和selinux ProxySQL版本:proxysql-1.4.8-1-centos7.x86_64.rpm Mysql版本:mariadb 5.5.56-2.el7 ProxySQL主机IP:192.168.100.2 Mysql主库IP:192.168.100.3 Mysql从库IP:192.168.100.4 前提条件: Mysql主从已经配置好了同步 开始安装ProxySQL 安装ProxySQL: wget https://github.com/sysown/proxysql/releases/download/v1.4.8/proxysql-1.4.8-1-centos7.x86_64.rpm yum install -y proxysql-1.4.8-1-centos7.x86_64.rpm #proxysql需要依赖一些perl库,所以使用yum安装 #安装生成的文件:

proxySQL做mysql读写分离

六月ゝ 毕业季﹏ 提交于 2020-02-26 15:42:51
proxySQL做mysql读写分离: 参考网址: https://cloud.tencent.com/developer/article/1429052 下载网址: http://repo.proxysql.com/ProxySQL/proxysql-2.0.x/centos/6/proxysql-2.0.8-1-centos67.x86_64.rpm 官方网址: https://www.proxysql.com yum install perl-DBD-MySQL rpm -i proxysql-2.0.8-1-centos67.x86_64.rpm 配置文件路径:/etc/proxysql.cnf 默认数据路径:/var/lib/proxysql/ vi /etc/proxysql.cnf mysql_ifaces="127.0.0.1:6032;/tmp/proxysql_admin.sock" interfaces="10.0.1.2:6033;/tmp/proxysql.sock" monitor_username="ming" monitor_password="xxxxxx" { address="10.0.1.3" , port=3306 , hostgroup=10 }, { address="10.0.1.4" , port=3306 , hostgroup