mysql集群

MySQL架构之MHA架构实战

爷,独闯天下 提交于 2019-12-17 20:05:30
一、MHA原理 1、简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 在MHA自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据的不丢失,但这并不总是可行的。例如,如果主服务器硬件故障或无法通过ssh访问,MHA没法保存二进制日志,只进行故障转移而丢失了最新的数据。使用MySQL

MHA高可用群集

 ̄綄美尐妖づ 提交于 2019-12-17 19:18:47
MHA高可用集群 文章目录 一、MHA 简介: 二、部署 MHA: 第一步:三台主从服务器安装 mysql 第二步:修改 mysql 的主配置文件:/etc/my.cnf ,注意三台服务器的 server-id 不能一样 第三步:三台服务器启动 mysql 服务 第四步:配置 Mysql 主从同步(一主两从) 第五步:安装 MHA 第六步:启动 MHA 一、MHA 简介: MHA(Master High Availability) (1)简介 目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 (2)该软件由两部分组成: MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时

MySQL-5.5.49安装、多实例、主从复制

二次信任 提交于 2019-12-17 05:16:54
源码安装mysql yum install ncurses-devel libaio-devel -y mkdir /server/tools -p cd /server/tools wget https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz tar xf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./configure gmake gmake install which cmake /usr/local/bin/cmake cd .. useradd -s /sbin/nologin -M mysql wget https://downloads.mysql.com/archives/get/file/mysql-5.5.49.tar.gz tar xf mysql-5.5.49.tar.gz cd mysql-5.5.49 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.49 \ -DMYSQL_DATADIR=/application/mysql-5.5.49/data \ -DMYSQL_UNIX_ADDR=/application/mysql-5.5.49/tmp/mysql.sock \ -DDEFAULT_CHARSET=utf8 \

Java性能优化JVM、Tomcat、MySQL面试题一次彻底扫盲

二次信任 提交于 2019-12-17 03:25:41
本文转载自: Java性能优化JVM、Tomcat、MySQL面试题一次彻底扫盲 性能优化是什么?性能优化,简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短。 在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 今天就由京东资深技术官来详解「Java性能优化」问题,从JVM、Tomcat、MySQL三种调优方式来详细讲解,以下含一些面试题、脑图以及调优文档等资料。 核心技术JVM、Tomcat、MySQL面试题一次彻底扫盲 1. 调优篇 JVM知识整理 JVM内存区域划分 JVM执行子系统 垃圾回收器和内存分配策略 编写高效优雅Java程序 性能优化 JVM相关面试题 什么是JVM? 类加载器是如何加载 class 文件的? 双亲委派模型(Parent Delegation Model)? 垃圾回收算法有哪些? GC什么时候开始? JVM 内存分哪几个区,每个区的作用是什么? GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路? 2. Tomcat 调优篇 Tomcat架构解析 Tomcat介绍 Tomcat总体架构 CatAlina Coyote Jasper Tomcat配置管理 Web服务器集成

MySQL - binlog日志简介及设置

无人久伴 提交于 2019-12-17 01:12:32
基本概念 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,记录了所有的DDL和DML(除了数据查询语句)语句,并以 事务 的形式保存在磁盘中,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。 作用主要有: 复制:MySQL Replication在Master端开启binlog,Master把它的二进制日志传递给slaves并回放来达到master-slave数据一致的目的 数据恢复:通过mysqlbinlog工具恢复数据 增量备份 二进制日志包括两类文件:二进制日志索引文件(文件名后缀为.index)用于记录所有的二进制文件,二进制日志文件(文件名后缀为.00000*)记录数据库所有的DDL和DML(除了数据查询语句)语句事件。 日志管理 开启binlog 修改配置文件 my.cnf 配置 log-bin 和 log-bin-index 的值,如果没有则自行加上去。 log-bin=mysql-bin log-bin-index=mysql-bin.index 这里的 log-bin 是指以后生成各 Binlog 文件的前缀

centos7

ε祈祈猫儿з 提交于 2019-12-17 01:01:42
当前使用的是Oracle VM VirtualBox虚拟机软件 1.关闭防火墙 #第一步: 停止firewall systemctl stop firewalld.service #第二步:禁止firewall开机启动 systemctl disable firewalld.service #第三步:查看防火墙状态 systemctl status firewalld.servic (systemctl status firewalld) 2.增加网卡 3.修改静态IP cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-enp0s8 vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 修改ifcfg-enp0s8内容如下: TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy

MySQL数据库初识

拥有回忆 提交于 2019-12-16 22:52:51
一 数据库概述 1. 数据库???   什么是数据库呢?   先来看看百度怎么说的 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。   百度的貌似不好理解啊,让我说啊,数据库是存储数据的地方,超哥,你这不是废话么?这位同学,你你你你你说的对,哈哈,存数据的地方是存在哪里呢,存在硬盘上,为什么不是存在内存里面,因为内存无法永久保存。之前我们存数据都是使用的文件,在一个word文档里面写一些羞羞的网址,然后保存,就存储到硬盘上了。有同学就会说了,超哥,我这通过文件不是也将数据保存上了吗?是的,没毛病,但是你想,通过文件来操作数据,效率是不是很低,首先打开关闭就比较慢,其次是我们操作起来也比较麻烦,对不对,如果我想记录一条关于我个人信息的数据,我使用文档来存,是不是很不友好,并且我们要查数据的时候,看图1:图1是一个word里面记录的信息,如果我想查询出所有人的名字,这个操作是不是就很难搞定了,来来来,配合起来~~,你应该说是的,那我就接着说,有同学可能就会说了,老师我用excel啊,看图2,一列就搞定了,没毛病,但是你想打开操作excel效率低不低。并且通过你自己写的程序来操作这些文件是不是很麻烦

MHA实现mysql的高可用

久未见 提交于 2019-12-16 19:27:41
关于 MHA: 1.Master HA,对主节点进行监控,可实现自动故障转 移至其它从节点;通过提升某一从 节点为新的主节点,基于主从复制实现,还需要客户端配合实现,目前MHA主要支持一主多 从的架构,要搭建MHA,要求一个复制集群中必须最少有 三台数据库服务器,一主二从, 即一台充当master,一台充当备用master,另外一台充当从库,如果财大气粗,也 可以用一台专门的服务器来当MHA监控管理服务器 2.MHA工作原理 1 从宕机崩溃的master保存二进制日志事件(binlog events) 2 识别含有最新更新的slave 3 应用差异的中继日志(relay log)到其他的slave 4 应用从master保存的二进制日志事件(binlog events) 5 提升一个slave为新的master 6 使其他的slave连接新的master进行复制 注意:MHA需要基于ssh,key验证登入方法 MHA软件由两部分组成,Manager工具包和Node工具包,具体的说明如下。 1.Manager工具包主要包括以下几个工具: masterha_check_ssh 检查MHA的SSH配置状况 masterha_check_repl 检查MySQL复制状况 masterha_manger 启动MHA masterha_check_status 检测当前MHA运行状态

基于MySQL 5.7多源复制及Keepalived搭建三节点高可用架构

你离开我真会死。 提交于 2019-12-16 11:33:19
导读 本内容摘自知数堂第35期公开课《MySQL 5.7 高可用新玩法》 本次公开课视频请访问 http://pan.baidu.com/s/1mia6MZu 知数堂公开课相关视频请访问 https://ke.qq.com/course/172600 基本环境准备 使用Centos 6.X 64位系统 MySQL 使用 MySQL-5.7.17-x86_64 版本,去官方下载mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 版本 机器名 操作系统 Ip node1 centos-6.8 192.168.11.100 node2 centos-6.8 192.168.11.101 node3 centos-6.8 192.168.11.102 三节点集群设置VIP为 192.168.11.110 一般我们建议关闭iptables [wubx@zhishuedu.com ~]# chkconfig —del iptables [wubx@zhishuedu.com ~]# /etc/init.d/iptables stop 并且关闭 selinux [wubx@zhishuedu.com ~]# setenforce 0 并且将配置文件 /etc/sysconfig/selinux 中的下面这行 SELINUX=permissive 更改为

mysql中间件汇总

假如想象 提交于 2019-12-16 08:15:37
一、写在前面 mysql作为互联网公司都会用到的数据库,在使用过程中。会用主从复制来提高性能。会用分库分表解决写入问题。以下介绍mysql中间件的一些实现方案 二、Atlas Atlas时 360 公司开发维护的一个基于MySQL协议的数据中间层项目。 2.1 atlas架构 Atlas是一个位于应用程序与MySQL之间中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服务端协议,同时作为客户端与MySQL通讯。它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,它还维护了连接池。 2.3 主要功能 1.读写分离 2.从库负载均衡 3.IP过滤 4.自动分表 5.DBA可平滑上下线DB 6.自动摘除宕机的DB 三、Mysql router MySQL Router是mysql官方发布的数据库中间件,是处于应用client和dbserver之间的轻量级代理程序,它能检测,分析和转发查询到后端数据库实例,并把结果返回给client。是mysql-proxy的一个替代品 3.1 mysql router架构 1.Router实现读写分离,程序不是直接连接数据库IP,而是固定连接到mysql router。MySQL Router对前端应用是透明的。 应用程序把MySQL