mysql集群

mysql 1

徘徊边缘 提交于 2019-12-02 17:14:16
什么是数据库(DataBase,简称DB)   用来存储数据的仓库   数据库可以在硬盘及内存中存储数据   数据库服务器端: 存放数据库的主机集群   数据库客户端: 可以连接数据库的任意客户端   数据库管理员: DBA 为啥使用数据库 之前使用的是Excel来进行管理数据,   Excel的缺点:   1. 管理不了大量的数据 (10W量级的数据)   2. 并发操作同一个数据表格   3. 数据支持高级的操作, 比如:分组,连表等 数据库的分类 数据库管理系统 (DataBase Management System 简称DBMS)   如MySQL、Oracle、SQLite、Access、MS SQL Server。 - 关系型数据库   有表的概念,以表中一条条记录存储数据   对每一列的数据类型会有约束, id(整型), name(字符串类型)   maridb,MySQL -----》用的比较多,免费,开源,目前是甲骨文公司的产品   SqlServer -----》 微软, 大学,政府 (汽车之家)   Oracle -----》甲骨文,收费,金融公司,阿里   sqlite -----》小型的文件数据库,自己玩玩   等 - 非关系型数据库   没有表的概念,通过key-value键值对方式存储数据   memcache ----》十年前的产品 (新浪博客)  

day33

試著忘記壹切 提交于 2019-12-02 16:52:38
目录 什么是数据库? 为啥使用数据库? 数据库与文件存储的区别: 数据库介绍: 数据库基本概念: 数据库分类: 最大的区别: mysql架构 mysql的安装(windows下) 初始mysql 什么是数据库? 存数据的仓库 数据库可以在硬盘及内存中存储数据 为啥使用数据库? 之前使用的Excel来进行管理数据,不能存储10w量级的数据 Excel的缺点: ​ 1.管理不了大量的数据(10w量级的数据) ​ 2.并发操作同一个数据表格 ​ 3.数据支持高级的操作,比如:分组,连表等 数据库与文件存储的区别: 数据库本质上也是通过文件来存储数据的,数据库的概念就是系统的管理存储数据的文件 数据库介绍: 数据库服务端:存放数据的主机集群 数据库客户端:可以连接数据库的任意客户端 数据库管理员:DBA 数据库基本概念: 库:多表构建一个数据库,本质上就是文件夹 表:多条记录构建一张表,本质就是文件 记录:存放一条条数据,本质上就是文件中的一条条数据记录 数据库分类: 关系型数据库: 1.有表的概念,没一列数据类型会有约束,id(整型),name(字符串类型) 2.以表中一条条记录存储数据 Mysql,maridb ——》用的比较多,免费 SqlServer——》微软,大学,政府(汽车之家) Oracel——》甲骨文,收费,金融公司,阿里 sqlite——》小型的文件数据库等

Mysql跨机房同步方案

吃可爱长大的小学妹 提交于 2019-12-02 16:52:26
假设现有两个机房,需要做到数据同步。 以下是架构图(实际架构图根据现有机房架构和实际会比下图复杂,但整体思路不变): Mycat、Canal、Otter是关键的三项技术: Mycat:数据库分库分表中间件,可以管理一个mysql集群,屏蔽了mysql集群,对外伪装成mysql server,用户无感知mysql集群。 Canal:阿里巴巴开源产品,可以读取mysql二进制日志文件,并解析成想要的数据。 Otter:阿里巴巴开源产品,配合Canal可以做到读取二进制文件,解析出增量数据sql,然后执行sql到指定连接。 流程: 1、用户插入一条数据到mycat 2、mycat解析sql,分配sql到指定mysql数据库 3、mysql(假设M1接收到数据)数据库接收数据,根据主从配置,写出二进制日志。 4、mysql(M2)读取二进制日志同步数据,mysql(S)读取二进制日志同步数据,并写出二进制日志 5、Canal读取二进制日志,解析成sql 6、Otter接到sql,获取连接,在机房B的mycat上执行sql 7、Otter收到sql执行回执,执行完毕。 注: 本文给予思路及具体技术方案,具体技术的应用及使用,请自行google。 来源: oschina 链接: https://my.oschina.net/u/2358114/blog/678100

深度探索MySQL主从复制原理

╄→гoц情女王★ 提交于 2019-12-02 16:35:27
深度探索MySQL主从复制原理 一 、概要 MySQL Replication (MySQL 主从复制) 是什么? 为什么要主从复制以及它的实现原理是什么? 1.1 MySQL 主从复制概念 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。 1.2 MySQL 主从复制主要用途 读写分离 在开发工作中,有时候会遇见某个sql 语句需要锁表,导致暂时不能使用读的服务,这样就会影响现有业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。 数据实时备份,当系统中某个节点发生故障时,可以方便的故障切换 高可用HA 架构扩展 随着系统中业务访问量的增大,如果是单机部署数据库,就会导致I/O访问频率过高。有了主从复制,增加多个数据存储节点,将负载分布在多个从节点上,降低单机磁盘I/O访问的频率,提高单个机器的I/O性能。 二 、MySQL 主从形式一主一从 2.1 一主多从,提高系统的读性能 一主一从和一主多从是最常见的主从架构,实施起来简单并且有效,不仅可以实现HA,而且还能读写分离,进而提升集群的并发能力。

MYSQL数据库基于MHA的高可用

戏子无情 提交于 2019-12-02 16:29:57
一、MHA 简介 MHA(Master High Availability)目前在 MySQL 高可用方面是一个相对成熟的解决方案, 是一套优秀的作为 MySQL 高可用性环境下故障切换和主从角色提升的高可用软件。在 MySQL 故障切换过程中,MHA 能做到在 0~30 秒之内自动完成数据库的主从故障切换操作,并且在进行故障切换的过程中,MHA 能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 MHA 由两部分组成:MHA Manager(管理节点)和 MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个 master-slave 集群,也可以部署在一台 slave 节点上。MHA Node 运行在每台 MySQL 服务器及 Manager 服务器上,MHA Manager 会定时探测集群中的 master 节点,当 master 出现故障时,它可以自动将拥有最新数据的 slave 提升为新的 master,然后将所有其他的 slave 重新指向新提升的 master。整个故障转移过程对应用程序层面完全透明。 在 MHA 自动故障切换过程中,MHA 会试图从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失,但这种操作是有概率性的。MHA 可以与半同步复制结合起来。如果只有一个 slave 已经收到了最新的二进制日志,MHA

1028 笔记

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 16:08:33
目录 数据库 什么是数据库 数据库介绍 数据库基本概念 数据库分类 关系型数据库 非关系型数据库 区别 mysql数据库 MySQL的架构 常用参数 数据库安装 1.下载 2.解压 3.添加环境变量 4.初始化 5.启动MySQL服务端 7.启动MySQL客户端 8.制作Windows的服务 9.修改密码 库的基本操作 增 查 改 删 数据库 什么是数据库 用来存储数据的仓库 数据库可以在硬盘以及内存中存储数据 数据库与文件存储数据的区别 数据库本质也是通过文件来存储数据,数据库的概念就是系统的管理存储数据的文件 数据库介绍 数据库服务端:存放数据库的主机集群 数据库客户端: 可以连接数据库的任意客户端 数据库管理员:DBA # socket套接字的c/s架构应用 数据库基本概念 库: 多表构建一个数据库,本质就是文件夹 表:多条数据构建一张表,本质就是文件 记录: 存放一条条数据本质就是文件中的一条条数据记录 数据库分类 关系型数据库 有表的概念 以表中一条条记录存储数据 mysql,maridb 免费 ,常用 Oracle 甲骨文,收费,金融公司 sqlserver 微软,大学,政府,(汽车之家🚕) sqlite 小型的文件数据库,自用 access db2 非关系型数据库 没有表的概念 通过key-value键值对方式存储数据 MongoDB 文件型数据库 redis 微博

day33 数据库初识

北战南征 提交于 2019-12-02 13:35:52
目录 day33 数据库初识 今日内容概要 昨日内容回顾 今日内容详细 数据库的概念 数据库的基本术语 数据库的分类 MySQL的安装 MySQL客户端命令 数据库基本操作 day33 数据库初识 今日内容概要 数据库的概念 数据库的基本术语 数据库的分类 MySQL的安装 MySQL的基本命令 昨日内容回顾 socketserver subprocess 粘包 今日内容详细 数据库的概念 我们从前都是把数据存放到文件当中。但是对于真正的生产环境而言,文件存储有其先天的不足。 比如,很多情况下,我们的客户端和服务器都不止一个。而如果把数据只以文件的形式存储到一个服务器上,另一台服务器可能不能及时接收到相应。对于用户信息之类的重要数据而言,这将是不可接受的。而且我们往往一台计算机只进行一种任务。这样的话,即便有一台计算机出了问题,其他计算机依然可以继续正常工作,整个系统的容灾性会很好。 于是,很多情况下,我们会把储存数据的任务交给独特的计算机,也就是数据库。 当然,一台数据库也可能不能满足我们对多任务处理和数据安全的要求,我们还会使用多台计算机协调备份数据。 数据库之间实时要进行通信,一旦某一个数据库中的数据发生了改变,另一个数据库也要及时备份。 我们其实可以按照从前学过的socket网络编程和文件操作的只是来实现数据库的操作。但是,如果要保证能够完美地支持高并发

如何优化MySQL千万级大表

风格不统一 提交于 2019-12-02 13:05:53
很好的一篇博客,转载 如何优化MySQL千万级大表 原文链接:: https://blog.csdn.net/yangjianrong1985/article/details/102675334 千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都会跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议。 从一开始脑海里开始也是火光四现,到不断的自我批评,后来也参考了一些团队的经验,我整理了下面的大纲内容。 既然要吃透这个问题,我们势必要回到本源,我把这个问题分为三部分: “千万级”,“大表”,“优化”, 也分别对应我们在图中标识的 “数据量”,“对象”和“目标”。 我来逐步展开说明一下,从而给出一系列的解决方案。 1.数据量:千万级 千万级其实只是一个感官的数字,就是我们印象中的数据量大。 这里我们需要把这个概念细化,因为随着业务和时间的变化,数据量也会有变化,我们应该是带着一种动态思维来审视这个指标,从而对于不同的场景我们应该有不同的处理策略。 1) 数据量为千万级,可能达到亿级或者更高 通常是一些数据流水,日志记录的业务,里面的数据随着时间的增长会逐步增多,超过千万门槛是很容易的一件事情。 2) 数据量为千万级,是一个相对稳定的数据量 如果数据量相对稳定,通常是在一些偏向于状态的数据,比如有1000万用户

企业级mysql数据库集群

一笑奈何 提交于 2019-12-02 10:36:58
######mysql###### 1.mysql的主从复制 1)下载mysql的rpm包 tar xf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar 2)安装需要的包 yum install -y mysql-community-client-5.7.24-1.el7.x86_64.rpm mysql-community-common-5.7.24-1.el7.x86_64.rpm mysql-community-libs-5.7.24-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm mysql-community-server-5.7.24-1.el7.x86_64.rpm #安装后会替换mariadb相关的库文件 #server2也需要装 3)修改配置文件,配合官方文档看 负责在主、从服务器传输各种修改动作的媒介是主服务器的二进制变更日志,这个日志记载着需要传输给从服务器的各种修改动作。因此,主服务器必须激活二进制日志功能。从服务器必须具备足以让它连接主服务器并请求主服务器把二进制变更日志传输给它的权限 vim /etc/my.cnf log-bin=mysql-bin ##文档最后加,二进制日志复制,id号来区分主机 server-id=1 4

Centos7 搭建 cloudera-manager 集群

筅森魡賤 提交于 2019-12-02 10:31:32
0、准备工作 关闭防火墙 # 所有节点 systemctl stop firewalld systemctl disable firewalld 禁止交换 # 所有节点 sysctl vm.swappiness = 0 禁用大页面 # 所有节点 echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled 1、JDK 卸载现有 Java rpm -qa | grep java | xargs sudo rpm -e --nodeps 解压到 /opt/module 目录 tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/ 配置环境变量 sudo vim /etc/profile #JAVA_HOME export JAVA_HOME = /opt/module/jdk1.8.0_144 export PATH = $PATH : $JAVA_HOME /bin 刷新配置 source /etc/profile 测试是否安装成功 java -version 2、MySQL 查看是否现有的包 rpm -qa | grep mariadb 如果有,删之 rpm -e -