mysql集群

MHA高速可用群集

别等时光非礼了梦想. 提交于 2020-01-11 14:31:07
MHA高速可用群集 文章目录 MHA高速可用群集 前言 1.群集服务器 2.群集 3.MHA 1.MHA优点总结 2.MHA的工作流程 1.企业网站MHA的基础工作架构 2.MHA形成的原因 3.MHA的工作流程 3.搭建MHA高可用群集 1.主从同步基础配置 2.将master、slave1、slave2配置主从同步 3.验证主从同步 4.安装MHAnode节点 5.配置ssh免交互登录 6.配置mha-manager的组件 7.测试ssh与mysql连接 8.配置虚拟ip,启动MHA 9.模拟故障 10.测试实验结果 前言 1.群集服务器 借助服务器群集功能将多台服务器连接在一起,从而为在该群集中运行的数据和程序提供 高可用性 和易管理性。服务器群集提供了以下三种主要的群集技术优点: 更高的可用性。 允许服务器群集中的服务和应用在硬件或软件组件故障下或在计划维护期间仍能不间断地提供服务。 更高的 可扩展性 。 支持通过增加多个处理器(在 Windows Server 2003 Enterprise Edition 中最多可达 8 个,在 Windows Server 2003 Datacenter Edition 中最多可达 32 个)和额外内存(在企业版中,随机存取内存 [RAM] 最多可达 8 GB ,在 Windows Server 2003 Datacenter

MySQL读写分离

浪尽此生 提交于 2020-01-11 01:39:06
配置知识点 MySQL读写分离原理 读写分离就是只在主服务器上写,只在从服务器上读 主数据库处理事务性查询,而从数据库处理select查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 实验概述 在数据库服务应用中,在大量的数据请求下,单台数据库将无法承担所有的读写操作 配置多台数据库服务器以实现读写分离 本实验在主从复制的基础上实现读写分离 配置MySQL读写分离 1、实验拓扑图如下 主机名 IP地址 主服务器 192.168.150.240 从服务器1 192.168.150.158 从服务器2 192.168.150.238 amoeba 192.168.150.181 客户机 192.168.150.241 2、所有服务器关闭Firewalld或者进行规则设置 3、搭建MySQL主从复制环境 可参考- MySQL主从复制搭建 4、Amoeba服务器环境安装 (1)安装jdk(版本1.6) [root@localhost abc]# cp jdk-6u14-linux-x64.bin /usr/local [root@localhost abc]# cd /usr/local [root@localhost local]# ./jdk-6ul4-linux-x64.bin //执行安装jdk,按提示安装 [root@localhost local]# mv

MySQL5.7之PXC集群搭建

坚强是说给别人听的谎言 提交于 2020-01-11 00:41:36
新建pxc001服务器: 系统:centos7 内存:2G 磁盘:128G IP地址:192.168.0.201(第一节点) 192.168.0.202 192.168.0.203 #vi /etc/selinux/config SELINUX=disabled #修改该项为disabled #执行命令 setenforce 0 #systemctl restart firewalld 开放防火墙这4个端口 firewall-cmd --add-port=4444/tcp --permanent firewall-cmd --add-port=4567/tcp --permanent firewall-cmd --add-port=4568/tcp --permanent firewall-cmd --add-port=3306/tcp --permanent 安装集群 #yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm #yum -y update percona-release #yum -y install Percona-XtraDB-Cluster-57 启动mysql,并修改密码 service

Mysql——读写分离

我们两清 提交于 2020-01-10 14:00:40
文章目录 一、MySQL读写分离原理 二、应用场景 三、读写分离示例 1、配置 2、验证 一、MySQL读写分离原理 读写分离就是只在主服务器上写,只在从服务器上读 主数据库处理事务性查询,而从数据库处理select查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 二、应用场景 在企业用户中,在大量的数据请求下,单台数据库将无法承担所有的读写操作 配置多台数据库服务器以实现读写分离 在主从复制的基础上实现读写分离 三、读写分离示例 环境: 1、3台Mysql服务器,部署好mysql服务(1台主服务器,2台从服务器) 2、3台服务器间搭建主从复制:https://blog.csdn.net/ML908/article/details/103914159 3、1台amoeba代理服务器 4、1台客户机 5、所有服务器关闭防火墙 思路: 需要有三个账户 1、从服务器找主服务器同步数据用的账户 2、amoeba访问mysql用的账户 3、客户端访问amoeba用的账户 主服务器(master) 192.168.17.157 从服务器(slave 1) 192.168.17.150 从服务器(slave 2) 192.168.17.135 代理服务器(amoeba) 192.168.17.130 客户机(client) 192.168.17.158 1、配置

MySQL读写分离

爱⌒轻易说出口 提交于 2020-01-09 23:51:43
MySQL读写分离 读写分离就是只在主服务器上写,只在从服务器上读 主数据库处理事务性查询,从而数据库处理select查询 数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库 案例实施 所有服务器关闭firewalld或者进行规则设置 搭建mysql主从复制环境 Amoeba服务器环境安装 配置amoeba读写分离,两个slave读负载均衡 mysql1、mysql2和mysql3中执行以下操作开放权限给Amoeba 修改amoeba配置文件 /usr/local/amoeba/conf/amoeba.xml /usr/local/amoeba/conf/dbServers.xml 启动Amoeba软件 测试读负载均衡 客户机访问数据库 在数据库db_test中创建zang,并自动同步到2台从服务器 两台从服务器数据库中关闭主从复制 分别在mysql1、mysql2、mysql3的zang表中上插入不同的数据 实操 在amoeba服务器上安装amoeba需要先安装jdk依赖包 cp jdk-6u14-linux-x64.bin /usr/local [root@amoeba abc]# cd /usr/local [root@amoeba local]# ls bin etc include lib libexec share tomcat9 boost_1_59_0

[MariaDB]MHA高可用部署-实验

南楼画角 提交于 2020-01-09 16:47:03
目录 一、简介 1.1MHA角色 二、MHA的工具 三、MHA部署过程 3.1.1 配置 3.1.2 环境规划 3.1.3 配置一主多从 3.2 MHA配置 3.2.1 master权限授予 3.2.2 ssh互信 3.2.3 安装mha包 3.2.4 MHA管理节点配置 3.2.5 MHA节点检测 3.2.6 MHA启动 3.2.7 MHA模拟故障 3.2.8 修复已损坏的节点加入MHA中 MHA 问题集锦 一、简介 MHA的逻辑是,为了保证其MySQL的高可用,会有一个StandBy状态的master.在mysql故障切换的过程中,MHA 能做到在 0~30 秒内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA 能最大程度的保证数据的一致性,以达到相对意义上的高可用。 1.1MHA角色 如下图,整个 MHA 架构分为 MHA Manager 节点 MHA Node 节点 其中 MHA Manager 节点是单点部署,MHA Node 节点是部署在每个需要监控的 MySQL 集群节点上的。MHA Manager 会定时探测集群中的 Master 节点,当 Master 出现故障时,它可以自动将最新数据的 Standby Master 或 Slave 提升为新的 Master,然后将其他的 Slave 重新指向新的 Master。 二、MHA的工具

docker使用pxc搭建mysql集群

孤者浪人 提交于 2020-01-08 21:02:41
准备2个linux,分别安装pxc 1、安装pxc镜像 docker pull percona/percona-xtradb-cluster 修改名字(太长了) docker tag percona/percona-xtradb-cluster pxc docker rmi percona/percona-xtradb-cluster 2、创建数据卷 docker volume create v1 docker volume create backup 3、创建共享网络 开通端口 在docker上创建swarm集群 docker swarm init docker swarm join \ --token SWMTKN-1-1860zm5hgjjlxxdbqt8dmg07xcnelqw2gljmthf5iq1y7oj7f5-3a36zsq7w3s5m6dennet31dbm \ 192.168.148.130:2377 基于overlay创建共享网络 3、创建msyql容器 docker中 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:

Mycat 快速入门

故事扮演 提交于 2020-01-07 07:04:31
什么是Mycat 至于什么是Mycat,可能在不同的角色下有不同的理解。对MySQL架构有过了解的话,都知道MySQL实际上是由Server层和存储引擎层组成的。所以 对于DBA来说 ,Mycat 就是 MySQL 的Server层。而 Mycat 后面连接的 MySQL Server,就好象是 MySQL 的存储引擎。因此,Mycat 本身并不存储数据,数据是在后端的 MySQL 上存储的,因此数据的可靠性 以及事务等依旧是 MySQL 保证的。 对于开发人员来说 ,Mycat基本等同于MySQL。因为完全可以使用连接MySQL的方式去连接Mycat,除了默认端口不同之外,连接方式上没有区别。所以Mycat对于开发人员来说是透明的,只不过在SQL的使用上有一些限制。 而对于架构师来说 ,Mycat 是一个数据库中间件,可以用作读写分离、分表分库以及容灾备份等。对于使用Mycat的应用来说,其隐藏了数据库的存储逻辑。让我们无需在代码上去对读写分离等存储逻辑进行控制,从而达到不修改应用代码的前提下,扩展数据库架构。 由于Mycat是国内的开源项目,有非常完善且丰富的中文文档。所以本文就不对基础概念进行赘述了,建议参考 Mycat权威指南在线版 或到 Mycat官网 中了解更多关于Mycat的内容。 什么是数据库中间件 数据库中间件,就是介于数据库与应用之间

Mysql数据库简介

試著忘記壹切 提交于 2020-01-07 00:14:29
数据库的基本概念 数据 描述事物的符号记录称为ishuju(Data) 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起,就形成了“表” 是用来存储具体数据的 数据库 数据库就是表的集合,是存储数据库的仓库 以一定的组织方式存储的相互有关的数据 数据库介绍 关系型数据库,表示描述事物的符号记录 编写SQL规则,查询占据三分之二,修改占据三分之一 数据库的作用:数据的持久化保存,高可靠,高可用,数据的快速提取 数据库按存储类型划分为关系型数据库、非关系型数据库 关系型数据库:存储的是数值、字符、字符串、布尔值等 非关系型数据库:存储的是图片、视频、语音等 关系型数据库:mysql(属于oracle公司)、sql server(微软公司)、access(微软公司office)、oracle(oracle公司)、db2(IBM公司)、sybase(sybase公司)、等 sql server 高性能并发量很低,稳定性低,含有增值服务 税务局用的是oracle, 海关用的是oracle 国家电网用的是db2,操作是不可逆的 sybase可以承受亿级别的并发量 非关系型数据库(统称为NOSQL) MongoDB、redis(内存数据库,数据存放在内存中,也被叫做缓存数据库,以K-V(key-value)键值对存在变量名-——值)

5.7新特性

微笑、不失礼 提交于 2020-01-06 20:56:01
1. 背景 MySQL 5.7在2015-10-21发布了GA版本,即5.7.9,目前小版本已经到了5.7.12。5.7新增了许多新的feature和优化,接下来一个系列,我们就一起来尝尝鲜。首先这次主要是预览feature的变化以及兼容性问题。后面的系列,会针对重要的feature展开来学习。 2 安全相关的特性 2.1 认证插件 mysql.user表中的plugin更改成not null,5.7开始不再支持mysql_old_password的认证插件,推荐全部使用mysql_native_password。从低版本升级到5.7的时候,需要处理两个兼容性问题。 [兼容性] 需要先迁移mysql_old_password的用户,然后进行user表结构的升级: 1. 迁移mysql_old_password用户 MySQL 5.7.2之前的版本,是根据password的hash value来判断使用的认证插件类型,5.7.2以后的版本,plugin字段为not null,就直接根据plugin来判断了。新的密码从password字段中,保存到新的字段authentication_string中,password字段废弃处理。 如果user是隐式的mysql_native_password。直接使用sql进行变更: UPDATE mysql.user SET plugin =