mysql集群

MySQL 架构与历史

和自甴很熟 提交于 2020-02-27 08:35:33
1、MySQL 逻辑架构,上层客户端-----》连接/线程处理------》解析器-----》优化器 -----》存储引擎,解析器如果有生成查询缓存,那么连接/线程处理也有可能直接到查询缓存,返回结果,图如下 2、并发控制,读写锁,共享锁,排他锁,锁粒度(表锁 table lock 行级锁 row lock) 3、事务 :原子性,一致性,隔离性,持久性 隔离级别:未提交度,提交读(不可重复读),可重复读 ,可串行化 死锁 MySQL 中的事务 4、多版本并发控制(MVCC),只在REPEATABLE READ 和 READ COMMIT下工作,原理就是每行记录后面加两个隐藏的列来实现,一个保存行的创建时间,一个保存行的过期时间;这个时间是指系统版本号; 4、MySQL存储引擎 InnoDB MyISAM archive(只支持isert和select操作,日志或者数据采集类) CSV fedetated引擎 Memory引擎(HEAP表)临时表局势memory引擎,场景 NDB集群引擎 第三方存储引擎(OLTP类引擎,XtrDB PBXT TokuDB) 面向列的存储引擎 infobright,大数据量 如何转换表引擎? 1、ALTER TABLE 慢,会消耗系统所有的I/O能力 2、导入与导出 3、创建与查询 create table innodb_table like

MySQL家族"新"成员——MySQL Shell

我怕爱的太早我们不能终老 提交于 2020-02-27 07:22:31
本文转载自“MySQL解决方案工程师”公众号,由徐轶韬翻译 标题虽然叫做MySQL家族新成员,但如果从发布时间上来看,MySQL Shell已经不能算做新成员了,它的正式版与MySQL8.0同一天诞生,2018年4月19日,但还有很多人对它比较陌生,所以称之为“新”。在这篇文章里,我将会介绍一下它的部分功能和使用方法。 首选概括一下它的功能,MySQL Shell是一个统一的命令行客户端,使用它可以对MySQL进行管理和操作。它支持多种语言,包括JavaScript,Python和SQL,并且支持编写脚本。此外,它同时支持文档型和关系型数据库模式,并且具有完整的开发和管理API。 看到这里,您可能会发现MySQL Shell与传统的MySQL数据库的客户端mysql的区别了,旧的mysql客户端缺失了脚本功能(可能有人会说可以通过编写SQL命令进行批处理),但是想要通过脚本语言对数据库进行管理的用户会发现,并没有专门适用于合并脚本语言的工具,MySQL Shell的出现弥补了这一点。 使用MySQL Shell除了可以对数据库里的数据进行操作,还可以对数据库进行管理,特别是对Innodb Cluster的支持,使用它可以十分方便的对Innodb Cluster进行管理,配置。您可以理解为MySQL Shell就是为Innodb Cluster 而生的

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

入门Hadoop---安装ClouderaManager,CDH和Impala,Hue,oozie等服务

孤人 提交于 2020-02-26 19:04:13
目录 1.要求和支持的版本 1.1 支持的操作系统版本 1.2 硬件要求 1.3 支持的MySql版本 1.4 支持的JDKs 1.5 推荐使用的JDK 1.6CM和CDH兼容性 2.环境搭建 2.1安装Centos7.6 2.2 安装MySql 2.3 安装JDK8 2.4 系统环境准备 2.5 为CM配置Repository(就是rpm仓库) 2.6 安装Cloudera Manager服务 2.7 配置MySql 2.8 设置Cloudea Manager数据库 2.9 安装CDH和其它软件 1.要求和支持的版本 (PS:我使用的环境,都用加粗标识了。) 1.1 支持的操作系统版本 Operating System Version (bold=new) RHEL/CentOS/OL with RHCK kernel 7.6 , 7.5, 7.4, 7.3, 7.2,6.10, 6.9 , 6.8 Oracle Linux (OL) 7.4, 7.3, 7.2 (UEK default) SUSE Linux Enterprise Server SLES 12 SP4, 12 SP3, 12 SP2 Ubuntu Ubuntu 16.04 LTS (Xenial) ​ (系统版本要求) 1.2 硬件要求 Component Storage Notes Partition

mysql数据实时同步到Elasticsearch

北城余情 提交于 2020-02-26 17:33:00
mysql数据实时同步到Elasticsearch bellengao 关注 32018.06.20 18:20:43字数 1,456阅读 34,146 业务需要把mysql的数据实时同步到ES,实现低延迟的检索到ES中的数据或者进行其它数据分析处理。本文给出以同步mysql binlog的方式实时同步数据到ES的思路, 实践并验证该方式的可行性,以供参考。 mysql binlog日志 mysql的binlog日志主要用于数据库的主从复制与数据恢复。binlog中记录了数据的增删改查操作,主从复制过程中,主库向从库同步binlog日志,从库对binlog日志中的事件进行重放,从而实现主从同步。 mysql binlog日志有三种模式,分别为: ROW: 记录每一行数据被修改的情况,但是日志量太大 STATEMENT: 记录每一条修改数据的SQL语句,减少了日志量,但是SQL语句使用函数或触发器时容易出现主从不一致 MIXED: 结合了ROW和STATEMENT的优点,根据具体执行数据操作的SQL语句选择使用ROW或者STATEMENT记录日志 要通过mysql binlog将数据同步到ES集群,只能使用ROW模式,因为只有ROW模式才能知道mysql中的数据的修改内容。 以UPDATE操作为例,ROW模式的binlog日志内容示例如下: SET TIMESTAMP

运维工程师打怪升级进阶之路 V2.0

蹲街弑〆低调 提交于 2020-02-26 16:40:53
在此之前,发布过两个版本: 运维工程师打怪升级之路 V1.0 版本发布 运维工程师打怪升级必经之路 V1.0.1 很多读者伙伴们反应总结的很系统、很全面,无论是0基础初学者,还是有基础的入门者,或者是有经验的职场运维工程师们,都反馈此系列文章非常不错! 为了更好的提升可阅读性、可查找性,特此,将列与公众号菜单的系统系列文章,统一整理于一篇文章,按原来的整体架构,分类整理,也就是说,今后的更新与迭代不再是多级的菜单目录,统一是一篇完整的文章,有利于读者阅读与查找。 命名:《运维工程师打怪升级之路》 版本:V1.0版本「2019年1月20日发布」 V1.0.1版本「2019年4月26日更新」 V2.0版本 「2019年5月13日发布」 内容概况: 内容由浅入深,从最基础的网络基础开始,逐渐深入系统的学习Linux系统运维知识。然后引入企业项目实战内容,从而让更多学习Linux系统运维的读者朋友们「无论前端、后端、测试还是运维,底层系统是必备技术点」,都能够快速入门、并且在一程度上掌握当下企业所需要的技术储备。再穿插企业面试题、面试经验等,同时也能帮助运维工程师们在求职的路上能更加顺畅,少踩坑。 后面会逐渐更新将其完善,希望能帮助到同为运维路上的技术人。 运维工程师打怪升级进阶之路基础篇 1、网络基础 网络组建之路由基础 网络基础NAT(Network Address

关于MariaDB.10.5.1 主从复制介绍

余生颓废 提交于 2020-02-26 12:35:09
提示:本博文演示环境是基于centos7.2 x86_64位,最小化安装系统,MariaDB.10.5.1二进制安装来进行的 一、简单介绍下slave库的并行复制模式 slave_parallel_mode的 slave并行复制的5种模式: 官方给的5种模式 Description: Controls what transactions are applied in parallel when using parallel replication. optimistic: tries to apply most transactional DML in parallel, and handles any conflicts with rollback and retry. See optimistic mode. conservative: limits parallelism in an effort to avoid any conflicts. See conservative mode. aggressive: tries to maximize the parallelism, possibly at the cost of increased conflict rate. minimal: only parallelizes the commit steps of

详解mycat+haproxy+keepalived搭建高可用负载均衡mysql集群

邮差的信 提交于 2020-02-26 02:35:40
概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭建一个属于mysql数据库的高可用负载均衡。 主要思路: 简单说,实现mysql主备复制-->利用mycat实现负载均衡。 比较了常用的读写分离方式,推荐mycat,社区活跃,性能稳定。 以下基于centos7操作系统进行演示。 架构图 以下是这次搭建的架构图。 主机1与主机2上的keepalived会为该服务器抢占vip,抢占到vip后,对该主机的访问可以通过原来的ip访问,也可以直接通过vip访问,当其中一台宕机时,vip会漂移到另一台机器上,当我们访问VIP时haproxy会根据配置将请求分发到两台Mycat上实现负载均衡,并且haproxy会检测mycat是否存活。 下面先介绍下后端数据库的搭建部分。 一、安装部署mysql 1、安装依赖 yum install tcl gcc perl perl-JSON.noarch perl-Time-HiRes.x86_64 -y 2、创建基础目录并修改文件夹的属组 mkdir -p /data/datafile mkdir -p /data/log chown -R mysql:mysql /data 3、安装mysql数据库

构建 MariaDB Galera Cluster 分布式数据库集群(一)

核能气质少年 提交于 2020-02-26 02:34:31
MariaDB Galera Cluster 介绍 简介 MariaDB集群是MariaDB同步多主机集群,仅支持XtraDB(详见本文结尾注释)/InnoDB存储引擎(虽然有对MyISAM实验支持 - 看wsrep_replicate_myisam系统变量) 主要功能 同步复制 --- Galera主从复制是同步的,底层依赖rsync; 真正的multi-master,即所有节点可以同时读写数据库; 自动的节点成员控制,失效节点自动被清除; 新节点加入数据自动复制; 真正的并行复制,行级; 用户可以直接连接集群,使用感受上与MySQL完全一致; 优势 因为是多主,所以不存在Slavelag(延迟) 不存在丢失事务的情况 同时具有读和写的扩展能力 更小的客户端延迟 节点间数据是同步的,而Master/Slave模式是异步的,不同slave上的binlog可能是不同的 说明 Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。 以下内容摘自于 https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/,是在发布 MariaDB 10.1版本时摘录的 MariaDB Galera