mysql主从配置

# IT明星不是梦 # MySQL高可用集群之MMM

▼魔方 西西 提交于 2020-02-26 01:21:32
MySQL高可用集群之MMM 一、MMM简介 MMM即Multi-Master Replication Manager for MySQL(mysql多主复制管理器) ,基于perl实现,关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟IP,除此之外,它还有实现数据备份、节点之间重新同步功能的脚本。MySQL本身没有提供replication failover的解决方案,通过MMM方案能实现服务器的故障转移,从而实现mysql的高可用。MMM不仅能提供浮动IP的功能,如果当前的主服务器挂掉后,会将你后端的从服务器自动转向新的主服务器进行同步复制,不用手工更改同步配置。这个方案是目前比较成熟的解决方案。详情请看官网: http://mysql-mmm.org 优点: 高可用性,扩展性好,出现故障自动切换。 对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性。 当主服务器挂掉以后,另一个主立即接管,其他的从服务器能自动切换,不用人工干预。 缺点: monitor节点是单点,不过这个也可以结合keepalived或者haertbeat做成高可用; 至少三个节点,对主机的数量有要求,需要实现读写分离,还需要在前端编写读写分离程序。

Mysql主从配置,一主一从

十年热恋 提交于 2020-02-26 00:41:21
主库IP:192.168.1.156 Hostname:CNDB01 从库IP:192.168.1.157 Hostname:CNDB02 系统:Centos7.4 Mysql:Mariadb 5.7 1.安装: yum -y install mysql 2.配置主服务器mysql文件: #vim /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid [mysqld] server-id = 1 #主为1 log-bin = mysql-bin #开启二进制日志 skip-gran-tables #开启无密码登录,不启用会有可能连接不上 !includedir /etc/my.cnf.d 3.配置数据库参数,创建sync同步账户,并且授权slave权限 #systemctl start mysql #mysql -u root -p MySQL [(none)]> grant replication slave on . to 'sync'@'192.168.1.156' identified by

mysql实现高可用架构之MHA

柔情痞子 提交于 2020-02-26 00:00:25
mysql实现高可用架构之MHA 一、简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover (自动化主故障转移)功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。 MHA 还提供了 master 节点的在线切换功能,即按需切换 master/slave 节点。 MHA 是由日本人 yoshinorim(原就职于DeNA现就职于FaceBook)开发的比较成熟的 MySQL 高可用方案。MHA 能够在30秒内实现 故障切换,并能在故障切换中,最大可能的保证数据一致性。目前淘宝也正在开发相似产品 TMHA, 目前已支持一 主一从。 二、MHA 服务 2.1 服务角色 MHA 服务有两种角色, MHA Manager(管理节点)和 MHA Node(数据节点): MHA Manager: 通常单独部署在一台独立机器上管理多个 master/slave 集群(组),每个 master/slave 集群称作一个 application,用来管理统筹整个集群。 MHA node: 运行在每台 MySQL 服务器上(master/slave

Mysql 备份恢复与 xtrabackup备份

笑着哭i 提交于 2020-02-26 00:00:12
Mysql 备份恢复与 xtrabackup备份 1.1 备份的原因   备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。 1.1.1 备份的目录   做灾难恢复:对损坏的数据进行恢复和还原   需求改变:因需求改变而需要把数据还原到改变以前   测试:测试新功能是否可用 1.1.2 备份中需要考虑的问题   可以容忍丢失多长时间的数据;   恢复数据要在多长时间内完;   恢复的时候是否需要持续提供服务;   恢复的对象,是整个库,多个表,还是单个库,单个表。 1.1.3 备份的类型 热备份:   这些动态备份在读取或修改数据的过程中进行,很少中断或者不中断传输或处理数据的功能。使用热备份时,系统仍可供读取和修改数据的操作访问。 冷备份:   这些备份在用户不能访问数据时进行,因此无法读取或修改数据。这些脱机备份会阻止执行任何使用数据的活动。这些类型的备份不会干扰正常运行的系统的性能。但是,对于某些应用程序,会无法接受必须在一段较长的时间里锁定或完全阻止用户访问数据。 温备份:   这些备份在读取数据时进行,但在多数情况下,在进行备份时不能修改数据本身

MySQL中间件之MyCat

你。 提交于 2020-02-25 23:37:09
MySQL中间件之MyCat 一、MyCat基础概念 1、什么是MyCat 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 一个新颖的数据库中间件产品 2、为什么使用MyCat 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的(比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的)。所以还是需要使用关系性数据库。如何使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储,为应对此问题就出现了——MyCat MyCat作用: 能满足数据库数据大量存储;提高了查询性能 读写分离 数据分片 垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分

MySQL高可用之KeepAlived+双主

元气小坏坏 提交于 2020-02-25 23:36:25
MySQL高可用之KeepAlived双主 生产环境中一台mysql主机存在单点故障,所以要确保mysql的高可用性,即两台MySQL服务器。如果其中有一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。 主要介绍利用 keepalived 实现 MySQL 数据库的高可用。 Keepalived+mysql双主来实现MySQL-HA,我们必须保证两台MySQL数据库的数据完全一样。 基本思路 两台MySQL互为主从关系,通过Keepalived配置虚拟IP,实现当其中的一台MySQL数据库宕机后,应用能够自动切换到另外一台MySQL数据库,保证系统的高可用。 环境 Mysql版本:mysql 5.7 Keepalived: keepalived-1.2.20 主机 操作系统 mysql-VIP IP地址 mysql-master01 CentOS 7 192.168.10.100 192.168.1.1 mysql-master02 CentOS 7 192.168.10.100 192.168.1.8 一、配置两台服务器主主同步 该过程的第一部分就是master记录二进制日志

MySQL主从复制的线程描述

孤人 提交于 2020-02-25 22:37:01
复制线程概述: MySQL完成主从复制,需要三个线程的参与:一个在(Master)主节点上,另外两个在(Slave)从节点上 1、(Master)Binlog Dump线程: 当有从节点连接到主节点时,主节点就创建一个线程将该主节点的bin-log内容发送到主动连接的从节点上。创建的这个线程可以使用下面的命令在主节点的标准输出上以“Binlog Dump”名字显示。 SHOW PROCESSLIST 为了读取主节点上即将被发送到从节点的每一个事件(Event),binlog Dump线程会对该binlog添加一个锁,直到这个事件被读取到甚至发送到从节点上,这个锁才会被释放。 2、(Slave)I/O线程: 当一个"START SLAVE"语句在从节点上发出时,从节点创建一个I/O线程;用来连接到配置好的主节点上并请求其发送binlog中的更新记录。这个I/O线程读取从binlog Dump线程发送过来的更新信息,将其复制到本地文件内(Relay log)。在"SHOW SLAVE STATUS"语句的输出内容中,显示为:Slave_IO_running;在"SHOW STATUS"语句的输出中显示为:Slave_running 3、(Slave)SQL线程: 从节点创建一个Slave SQL线程去读取由Slave I/O创建的relay log中的内容

大型网站架构——百万PV

限于喜欢 提交于 2020-02-25 18:58:01
简介 PV即点击量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的重要指标。PV从某种程度上已经成为投资者衡量商业网站表现的最重要的尺度。 PV是一个访问者在24小时到底看了网站的几个页面。 案例描述 本案例设计采用四层模式实现,主要分为前端反向代理,web层,数据库缓存层和数据库层。前端反向代理层采用主备模式,web层采用集群模式,数据库缓存采用主备模式,数据库层采用主从模式。 案例环境 主:192.168.177.145 centos7-1 从:192.168.177.135 centos7-2 节点1:192.168.177.132 centos7-3 节点2:192.168.177.133 centos7-4 主服务器 从服务器 安装带有nginx rpm软件包的源 #rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/\ nginx-release-centos-7-0.el7.ngx.noarch.rpm 使用centos 默认仓库完成下面的安装 主 #yum install -y keepalived nginx #vim /etc/keepalived/keepalived.conf //从上修改三个参数 ! Configuration File for keepalived vrrp_script

单台设备基于63G的数据量快速完成mysql主从搭建

萝らか妹 提交于 2020-02-25 15:32:45
一、演示课题说明: 单台物理机利用xtrabackup工具在线备份63G的mysql数据,来新建slave库。 演示的目的主要是记录下在单台物理服务器上利用63G的测试库数据,然后在本机上快速新建一个slave库,大概需要多久完成。以及在新增的slave的过程中对master库锁表影响多大? 二、设备和系统环境说明: 设备环境: x86_64位最小化安装 [root@localhost scripts]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 设备和硬盘型号: 双硬盘:SSD盘-intel 单盘raid0 +--------------------------------------------------------------+ | This Machine's Hyper-Threading is Enabled(recommend disable) | +--------------------------------------------------------------+ Systembit : 64 MEM info : 6*16384 MB Disk_totle : Pro_SN_name : Product Name: PowerEdge R630 Serial Number:

MySQL 高可用之MHA

亡梦爱人 提交于 2020-02-25 02:32:24
目录 MySQL高可用之MHA MHA简介 MHA工作流程 HMA架构 MHA工具介绍 部署MHA MySQL环境准备 配置GTID主从复制 配置关闭relaylog自动删除 安装MHA Node 安装MHA Manager 测试故障切换 修复主从和MHA 配置VIP漂移 配置binlog-server 故障排错 MySQL高可用之MHA MHA简介 MHA(Master High Availability)目前在 MySQL高可用 方面是一个 相对成熟 的 解决方案 ,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下 故障切换 和 主从提升 的 高可用软件 。在MySQL 故障切换 过程中,MHA能做到在 10~30秒 之内自动完成数据库的 故障切换 操作,并且在进行 故障切换 的过程中,MHA能在最大程度上 保证数据的一致性 ,以达到真正意义上的 高可用 。 使用MySQL 5.6以上的 半同步复制 ,可以大大 降低数据丢失 的风险。 MHA 可以与 半同步复制 结合起来。如果只有一个slave已经收到了最新的 二进制日志 ,MHA可以将最新的 二进制日志 应用于其他所有的slave服务器上,因此可以保证所有节点的 数据一致性 。 目前MHA主要支持 一主多从 的架构,要搭建MHA