数据库服务器

mysql-数据库的主从同步,实现读写分离

旧城冷巷雨未停 提交于 2019-12-17 08:01:36
mysql数据库的主从同步,实现读写分离 2018-08-14 20:55:57 叶梦_ 目录 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master主服务器的配置 2.1 配置文件my.cnf的修改 2.2 创建从服务器的用户和权限 2.3 重启mysql服务 2.4 查看主服务器状态 3 slave从服务器的配置 3.1 配置文件my.cnf的修改 3.2 重启mysql服务 3.3 连接master主服务器 3.4 启动slave数据同步 3.5 查看slave信息 4 测试 5 解决错误 6 总结 前言 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。 利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,将其中一台认为主数据库,而其他为从数据库,实现主从同步。其中主数据库负责主动写的操作,而从数据库则只负责主动读的操作(slave从数据库仍然会被动的进行写操作,为了保持数据一致性),这样就可以很大程度上的避免数据丢失的问题,同时也可减少数据库的连接,减轻主数据库的负载

day40

偶尔善良 提交于 2019-12-16 20:13:06
数据库相关 1.什么是数据库:数据库就是存储数据的仓库;本质是就是一套CS结构的TCP程序。 常见数据库分类 1.关系型数据库 数据库可以为数据与数据之间建立关系。例:人是一条数据,他可能关联一个工作岗位数据。双方可以通过自身找到对方。 mysql 免费开源 支持中大型企业 为了防止mysql被闭源 以及 担心oracle的优化能力 创始人Widenius 另起灶炉 开发了mariaDB mariaDB 完全兼容mysql 使用起来 一模一样 mysql的一生 坎坎坷坷 先后被 sun - oracle收购 oracle 收费闭源 功能强大 分布式数据库 SQLServer 微软生态圈 仅支持 windows系统 太局限 DB2 IMB 开发的数据库软件 收费闭源 经常与IMB的机器绑定销售 打折啥的 2.非关系型数据库 通过key valus存储数据各个数据之间没有关系 不是通用性数据库 有局限性 通常运行在将数据存储在内存中,以提高速度,所以非关系型数据库多用于缓存,与关系型数据库搭配使用。 MongoDB redis memcache 总结 : 我们通常说的数据库就是一套软件 有服务端和客户端 用来操作服务器端上的文件 数据库相关概念(与文件系统对应关系) 1.数据:本质上文件中某一行的一部分数据用于记录事物状态信息,可以是数字 字符 等 2.库:就是一个文件夹(数据库) 3

redis常见问题和解决方案

不想你离开。 提交于 2019-12-16 03:14:41
redis常见问题和解决方案 预热问题 在启动redis的时候,因为热点数据未加载,导致服务器压力大,cpu增高,甚至崩溃 问题解析 缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统,毕淼在用户请求的时候,先查询数据库,再将数据缓存的问题,用户直接查询事先被预热的缓存数据 解决方案 前置准备工作 日常例行统计数据访问记录,统计访问频度较高的热点数据 利用LRU数据删除策略,构件数据留存队列 准备工作 将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据 利用分布式多服务器同时进行数据读取,提速数据加载过程 实施 使用脚本程序固定触发数据预热过程 如果条件允许,使用CDN,效果会更好 雪崩 问题排查 在一个较短的时间内,缓存中较多的key集中过期 这周期内,请求访问过期的数据,redis未命中,redis向数据库获取数据 数据库同时接受到大量的请求,无法及时处理 redis大量请求被积压.开始出现超时现象 数据库流程激增,数据库崩溃 重启后仍然面对缓存中无数据可用 reids服务器资源被严重占用,redis服务器崩溃 应用服务器无法及时得到数据响应请求,来自客户端的请求数量越来越多,应用服务器崩溃 应用服务器,redis,数据库全部重启,效果不理想 问题分析 短时间范围内 大量key集中过期 解决方案(外部优化) 更多页面静态化处理 构件多级缓存结构

搭建Memcache服务详解

不羁的心 提交于 2019-12-15 00:09:59
博文大纲: 一、Memcache简介 二、Memcache工作流程 三、Memcache调度算法 四、Memcache实现原理 五、安装Memcache (1)安装nginx服务器 (2)安装PHP服务器 (3)安装MySQL数据库 (4)测试PHP与Nginx、MySQL的连通性 (5)安装Memcache服务器 (6)PHP服务器安装Memcache客户端 (7)使用 memcache 实现 session 共享 (8)测试Memcache缓存数据库 一、Memcache简介 Memcache是一套自由、开源、高性能、分布式的高速缓存系统。由于Memcache通过在内存中缓存数据和对象来减少读取数据库的次数。目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。 Memcache是一个存储键值对的HashMap,在内存中对任意的数据都可以使用key-value的方式存储,数据库可以来自数据库调用或API调用。Memcache设计理念就是小而强大,她简单的设计促进了快速部署、易于开发并解决大规模的数据缓存的许多难题,而其所开放的API使得Memcache能用于Java、C/C++/C#、Perl、Python等大部分流行的程序语言。 二、Memcache工作流程 注意Memcache虽然被称为“分布式缓存”

MySQL架构——mmm部署实例

风流意气都作罢 提交于 2019-12-14 23:21:10
mmm架构的来源 众所周知,MySQL自身提供了主从复制,然后可以很轻松实现master-master双向复制,同时再为其中一个Master节点搭建一个Slave库。这样就实现了MySQL-MMM架构的基础:master1和master2之间双向复制,同时Master1和Slave1之间是主从复制。 这样整个体系中存在两个Master,正常情况下只有一个master对外提供写服务。如果对外提供服务的master意外宕机了,这是MySQL本身并不具备failover切换的能力,尽管集群中仍然有一个正常的master节点,但应用仍不可用。mysql-mmm就是为了解决这个问题诞生的。 mmm架构的原理 MySQL-MMM是Master-Master Replication Manager for MySQL(mysql主主复制管理器)的简称,是Google的开源项目(Perl脚本),主要用来监控mysql主主复制并做失败转移 其原理是将真实数据库节点的IP(RIP)映射为虚拟IP(VIP)集,在这个虚拟的IP集中,有一个专用于write的IP,多个用于read的IP,这个用于Write的VIP映射着数据库集群中的两台master的真实IP(RIP),以此来实现Failover的切换,其他read的VIP可以用来均衡读(balance)。 mmm机构优缺点 优点

sql(一) 笼统梳理sql语句

岁酱吖の 提交于 2019-12-14 08:01:28
注意:此文档所有sql,部分针对于oracle数据库,部分针对于mysql; 目录 一、基础sql: 二、提升 三、技巧 四、数据库开发 经典 五、SQLServer2000同步复制技术实现步骤 一、基础sql: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创表 --- 创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table

Oracle体系结构和用户管理

隐身守侯 提交于 2019-12-14 05:54:23
博文结构 Oracle数据库体系结构 Oracle物理结构 Oracle逻辑结构 Oracle内存结构 Oracle进程结构 创建用户并授权 一.oracle体系结构概述 Orcale体系结构 Oracle体系结构包含一系列组件。 如图显示了Oracle体系结构中的主要组件,包括实例、用户进程、服务器进程、数据文件及其他文件,如参数文件、口令文件 和归档日志文件等. 从图中可以看出,实例和数据库是Oracle数据库体系结构的核心组成部分,也是最重要的 两个概念, DBA -个很重要的工作就是维护实例和数据库本身的正常工作。 1.实例 Oracle实例是后台进程和内存结构的集合,必须启动实例才能访问数据库中的数据。Oracle 实 例启动时,将分配- -个系统全局区(SGA) 并启动一系列Oracle后台进程。Oracle 实例有两种类型: 单进程实例和多进程实例。单进程Oracle实例使用一个进程执行Oracle的全部操作,在单进程环境下 的Oracle实例仅允许- -个用户可存取。多进程Oracle实例(又称多用户Oracle)使用多个进程来执行 Oracle的不同部分,对于每个连接的用户都有一个进程。 2.数据库 数据库是数据的集合,物理上是指存储数据库信息的一组操作系统文件,每个数据库有-个逻 辑结构和一个物理结构。物理结构是指构成数据库的一组操作系统文件

4-MySQL DBA笔记-开发进阶

末鹿安然 提交于 2019-12-13 18:10:31
第4章 开发进阶 本章将介绍一些重中之重的数据库开发知识。 在数据库表设计中,范式设计是非常重要的基础理论,因此本章把它放在最前面进行讲解,而这其中又会涉及另一个重要的概念——反范式设计。 接下来会讲述MySQL的权限机制及如何固化安全。 然后介绍慢查询日志及性能管理的部分理念,并讲述数据库的逻辑设计、物理设计、导入导出数据、事务、锁等知识。 最后会提及 MySQL的一些非核心特性,并对于这些特性的使用给出一些建议。 4.1 范式和反范式 4.1.1 范式 什么是范式? 范式是数据库规范化的一个手段,是数据库设计中的一系列原理和技术,用于减少数据库中的数据冗余,并增进数据的一致性。 数据规范化通常是将大表分成较小的表,并且定义它们之间的关系。这样做的目的是为了避免冗余存放数据,并确保数据的一致性。 添加、删除和修改数据等操作可能需要修改多个表,但只需要修改一个地方即可保证所有表中相关数据的一致性(由于数据没有冗余存放,修改某部分数据一般只需要修改一个表即可)。 由于数据分布在多个表之间,因此检索信息可能需要根据表之间的关系联合查询多个表。 数据规范化的实质是简单写、复杂读。 写入操作比较简单,对于不同的信息,分别修改不同的表即可;而读取数据则相对复杂,检索数据的时候,可能需要编写复杂的SQL来联合查询多个表。 常用的范式有第一、第二、第三范式,通常来说

SQL语句大全

我的未来我决定 提交于 2019-12-13 12:56:27
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) -- 根据已有的表创建新表 A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加/删除主键

Serverless Architectures(译文)(1)—(Martin Fowler)

三世轮回 提交于 2019-12-13 10:16:32
原文地址: https://martinfowler.com/articles/serverless.html 作者:Martin Fowler, Mike Roberts 1. 摘要   无服务器架构是一种应用程序设计方法,它合并了第三方“Backend as a Service”(BaaS)提供的服务,和/或运行在FaaS(Functions as a Service)平台中的用户代码。使用这样的思路并结合一些类似spa(单页应用)的应用,设计出的架构消除了对传统常驻服务器组件的大部分需求。无服务器架构将受益于显著降低的操作成本、复杂性和工程领先时间,但也会因依赖于服务提供商和相对不成熟的支撑技术而增加成本。 2. 引言   “Serverless computing”,或简称为“Serverless”,是软件架构世界中的一个热点主题。三大云厂商- Amazon, Google, and Microsoft都对无服务器架构进行了重点布局。我们已经看到许多许多书籍、开源项目、会议和软件厂商在致力于这个领域。但是什么是无服务器架构,它是否值得研究?通过这篇文章中我希望能够抛砖引玉。 3. 什么是无服务器架构   对于无服务器架构没有一个清晰的视图。对于初学者,它包含两个不同但重叠的区域: Serverless最初用于描述那些完全包含第三方的、云托管的