mysql集群

MySQL主从复制

时光怂恿深爱的人放手 提交于 2019-12-05 01:52:25
MySQL 5.6开始主从赋值有两种方式:   1:基于日志binlog   2:基于GTID 全局事务标识符 本文只涉及基于日志 binlog 的 主从配置。 主从复制的工作流程   MySQL通过操作主要通过三个线程实现,基本步骤如下、     1:Master服务器将数据的更新记录到二进制(binary log)中,用于记录二进制日志时间,这一步由Master服务器完成。     2:Slave服务器将Master服务器的二进制日志复制到本地的中继日志(Relay log),这一步由Slave服务器IO线程完成。     3:Slave服务器读取中继日志中的事件,将其重放在数据中,这一步由Slave服务器SQL线程完成。 主从模式的优点   1:一般的工作模式下,Master服务器负责增删改操作,查询工作由Slave服务器完成。   2:异地容灾备份,主要就是可以把Master服务器的数据同步到异地服务器上,提高数据的安全性。   3:高可用,Master服务器挂了,Slave可以充当Master继续提供服务。   4:高扩展性     1:纵向扩展,我可以更换机器更好的配置,因为有多台服务器,所以不用担心停机。     2:横向扩展,就是加机器咯,可以分散各个服务器的压力。 主从模式的缺点   1:成本增加,增加服务器就不说了,主要还需要开启二进制日志

你不知道的是

廉价感情. 提交于 2019-12-05 01:49:52
Linux运维跳槽必备的40道面试精华题 1、 什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有 DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等 2)游戏运维又有分工,分为开发运维、应用运维(业务运维)和系统运维 开发运维:是给应用运维开发运维工具和运维平台的 应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查 系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等 总结:开发运维和系统运维给应用运维提供了 “工具”和“基础设施”上的支撑开发运维、应用运维 和系统运维他们的工作是环环相扣的 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的? 游戏运营要做的一个事情除了协调工作以外还需要与各平台沟通,做好开服的时间、开服数、用户导量、活动等计划 3、现在给你三百台服务器,你怎么对他们进行管理? 管理 3百台服务器的方式: 1)设定跳板机,使用统一账号登录,便于安全与登录的考量。 2)使用salt、ansiable、puppet进行系统的统一调度与配置的统一管理。 3)建立简单的服务器的系统、配置

mysql的分区和分表

删除回忆录丶 提交于 2019-12-04 22:09:56
1,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看 mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上 2. mysql分表。 一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 根据个人经验,mysql执行一个sql的过程如下: 1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢? 第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql的执行时间。 mysql中有一种机制是表锁定和行锁定,为什么要出现这种机制,是为了保证数据的完整性,我举个例子来说吧,如果有二个sql都要修改同一张表的同一条数据,这个时候怎么办呢,是不是二个sql都可以同时修改这条数据呢?很显然mysql对这种情况的处理是,一种是表锁定(myisam存储引擎),一个是行锁定(innodb存储引擎)。 表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作

MySQL-Cluster架构图文详解

风格不统一 提交于 2019-12-04 21:23:28
前言: 这是我第一次接触Linux,CentOS, MySQL,用了5天的时间终于将基于CentOS5.0系统下MySQL-Cluster架构成功,下面将我这些经验分享给大家。若发现有什么错误和疏忽之处,请发邮件给我: stan_home@qq.com 。 (PDF图文版请下载,地址: http://download.csdn.net/source/3365704 ) 配置之前,先补充一些Linux常用命令: ls 浏览 ls -l 查看文件夹及文件权限 vi 文本编辑器(搜索、编辑) i 状态为修改 退出:“Esc”键后,然后输入”:”,然后输入“wq”写入、退出 :q! 强制退出 vim -f [文件名] 强制恢复文件 cp 拷贝文件命令 rm 删除文件 mkdir 创建文件夹 ln 连接问价或目录 man [命令] 查看命令参数 ifconfig 网卡信息命令 dig (域信息搜索器) df 查看系统文件 vmstat 系统状态 ps 查看进程(-e显示全部,-f全格式输出) ps -ef|grep mysql 查看所有mysql进程 Tips:输入一个文件或文件名,按一下Tab键,会自动完成改文件名(前提是这个文件或文件夹必须存在); 例如: 输入 [root @localhost tmp]# tar –xzvf mysql-c 按一下Tab键自动完成: [root

Mysql备份与恢复

烂漫一生 提交于 2019-12-04 21:03:38
通常数据库备份数据文件、 binlog 日志文件和 my.cnf 配置文件都应在其他地方保存一份甚至多份 仅备份是没有任何意义, 需要在测试环境中做日常恢复演练, 测试备份的可用性, 恢复较比备份更加的重要 备份: 能够有效防止设备故障以及人为误操作带来的数据丢失, 例如:将数据文件保存在远端。 冗余: 数据有多分冗余, 但不等于备份, 只能防止机械故障丢失的数据, 例如: 主备模式、数据库集群。 Mysql逻辑备份与恢复 完整备份与恢复 增量备份与恢复 Mysql物理备份与恢复 完整备份与恢复 增量备份与恢复 toc 数据库备份必须考虑因素 数据的一致性 服务的可用性 数据库备份方式 逻辑备份: 备份 DDL DML DCL 语句, 适用于中小型数据库, 效率相对低下。 mysqldump、mydumper 物理备份: 直接复制数据库文件, 适用于大型数据库环境, 效率相对较高。 xtrabackup、inbackup、cp、tar、lvm snapshot 数据库备份模式 完全备份 增量备份 差异备份 Mysql逻辑备份与恢复 Mysql自带逻辑备份工具 mysqldump , 可以保证数据备份一致性, 以及服务可用性 不管物理备份还是逻辑备份, 必须开启 binlog 日志 mysqldump -h 服务器 -u 用户名 -p 密码 数据库名 > 备份文件.sql -A, -

MHA实现mysql的高可用

孤街浪徒 提交于 2019-12-04 20:50:28
关于 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高可用之MHA配置

自古美人都是妖i 提交于 2019-12-04 19:05:39
本文简单介绍了MySQL的高可用实现方式之一的MHA MHA:Master High Availability,对主节点进行监控,可实现自动故障转移至其它从节点;通过提升某一从节点为新的主节点,基于主从复制实现,还需要客户端配合实现,目前MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库。官网:https://code.google.com/archive/p/mysql-master-ha/ MHA工作原理:   1、 从宕机崩溃的master保存二进制日志事件(binlog events)   2 、识别含有最新更新的slave 3、 应用差异的中继日志(relay log)到其他的slave 4 、应用从master保存的二进制日志事件(binlog events) 5、 提升一个slave为新的master 6 、使其他的slave连接新的master进行复制 MHA配置方法 1、准备安装环境   - MHA服务器1台,CentOS7   - 主库1台,CentOS7,192.168.1.100   - 从库1台,CentOS7,192.168.1.101   - 从库1台,CentOS7,192.168.1.102   从官网下载安装包     1

Java工程师需要掌握的MySQL数据库的相关知识

半腔热情 提交于 2019-12-04 18:49:46
MySQL是当下互联网最流行的开源数据库。在当前的后台开发中,MySQL应用非常普遍,企业在选拔Java人才时也会考察求职者诸如性能优化、高可用性、备份、集群、负载均衡、读写分离等问题。想要成为Java工程师,一定要熟练掌握MySQL,接下来我就给大家分享MySQL数据库应用场景知识。 1、单Master 单Master的情况是普遍存在的,对于很多个人站点、初创公司、小型内部系统,考虑到成本、更新频率、系统重要性等问题,系统只依赖一个单例数据库提供服务,基本上已经满足需求。单Master场景下应该关注四点:数据备份(冷备、热备、温备)、数据还原、备份监控、数据文件远程存储。 2、一主一从 考虑一主一从的多数初衷是系统性能和系统高可用性问题,除了单Master场景中的备份工作需要做好以外,还有性能优化、读写分离、负载均衡三项重点工作需要考虑。 3、一主n从 一旦开始考虑一主多从的服务器架构,则证明你的系统对可用性、一致性、性能中一种或者多种的要求比较高。好多系统在开始搭建的时候都会往这个方向看齐,这样“看起来”系统会健壮很多。一主n从关注的重点是:数据一致性、脑裂、雪崩、连接池管理。 4、横向集群 横向集群主要是从业务特性的角度对系统进行切分,最彻底就是切分成了各个子系统,子系统之间通过一些数据同步的方案来把一些核心数据进行共享,以避免跨库调用Join。然后是各种系统接口调用

PostgresSQL HA高可用架构实战

廉价感情. 提交于 2019-12-04 15:22:13
PostgresSQL HA高可用架构实战 原创 2015-09-25 萧少聪 高可用架构 本文由萧少聪在高可用架构群所做的分享整理而来,转载请注明高可用架构公众号:ArchNotes。 萧少聪(花名:铁庵),广东中山人,阿里云RDS for PostgreSQL/PPAS云数据库产品经理。自2006年以来,长期从事RedHat及SuSE Linux的HA集群搭建及PostgreSQL数据库支持工作。2011年开始组建Postgres(数据库)中国用户会。 PostgreSQL背景介绍 有不少同学希望了解PostgreSQL的背景及它与MySQL的对比结果,所以在此啰唆两句,有兴趣的同学可以单独给我发E-Mail,我可以分享详细的介绍及一些对比结果。 2015年是PostgreSQL正式在中国起步的一年,我们看到越来越多的企业选择了PostgreSQL。 中国移动主动使用PostgreSQL实现分布式数据库架构。 金融业方面平安集团明确表示将使用PostgreSQL作为新一代数据库的选型。 华为中兴纷纷加入PostgreSQL内核研究队伍。 阿里云正式提供PostgreSQL服务。 大部分人了解MySQL应该都是从2005年左右开始,那时在互联网带动下LAMP空前繁荣。而你所不知道的是,那时PostgreSQL已发展了近30年,至今已经超过40年

秒杀系统api的设计架构

若如初见. 提交于 2019-12-04 14:59:52
秒杀方案: 原子计数器 redis/mysql redis 集群 记录行为 分布式MQ-rabbitMQ 消费消息并落地 mysql 运维成本和稳定性:NoSQL MQ 开发成本:数据一致性,回滚方案等。 幂等性难保证:重复秒杀问题。 不适合新手的框架。 ======= 为什么不用mysql mysql低效 测试- 同一条mysql update 压力测试 4w qps 每秒4万次。 优化方向 减少行级锁的持有时间。 update确认影响记录数 优化思路: 把客户端逻辑放到mysql服务端,避免网络延迟和GC影响。 定制sql方案: update /*+[auto_commit]*/,需要修改MySQL源码 使用存储过程:整个事物在MySQL端完成。 优化总结: 前端控制:暴露接口,按钮防重复。 动静态数据分离:cdn缓存,后端缓存。 cdn--api像cdn推送数据和页面等。 事务竞争优化-减少事务锁持有时间。有网络延迟和GC,改成MYSQL处理。 来源: oschina 链接: https://my.oschina.net/u/1037605/blog/810709