数据库文件

MySQL 高可用之主从复制

情到浓时终转凉″ 提交于 2020-02-02 05:11:44
MySQL主从复制简介 Mysql的 主从复制 方案,都是 数据传输 的,只不过MySQL无需借助第三方工具,而是自带的同步 复制功能 ,MySQL的 主从复制 并不是磁盘上文件直接同步,而是将 binlog 日志发送给从库,由从库将 binlog 文件里的内容写入本地数据库。 在生产环境中,MySQL主从复制都是异步方式同步,即不是实时同步数据。 MySQL主从复制原理 1.主从复制中的线程及文件 主库线程: Dump(IO) thread(也成为 IO 线程):在复制过程中,主库发送二进制日志的线程 从库线程: IO thread:向主库请求binlog日志,并且接受binlog日志的线程 SQL thread:专门用于请求binlog日志的线程,将其内容写入数据库 主库的文件: binlog文件:主库的binlog日志 从库的文件: relaylog:中继日志,存储请求过来的binlog日志 master.info: 从库连接主库的重要参数(user,password,ip,port) 记录最后一次获取过主库的binlog日志的位置点 relay-log.info 存储从库SQL线程已经执行过的relaylog日志位置点 Mysql主从复制图解: 从库 读取 master.info 文件中的信息(连接参数,最后一次请求binlog的位置点),向 主库 请求binlog文件,

MySQL数据库详解(一)

穿精又带淫゛_ 提交于 2020-02-02 04:48:58
概述 1.什么是数据库(DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 2.什么是数据库管理系统 (Database Management SystemDBMS) 一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。 3.数据库的分类 4.数据库与数据库管理系统的关系 MySQL数据库 1.MySQL的安装 1.下载后得到zip压缩包. 2.解压到自己想要安装到的目录,本人解压到的是D:\Environment\mysql-5.7.19 3.添加环境变量 我的电脑->属性->高级->环境变量 选择PATH,在其后面添加: 你的mysql 安装文件下面的bin文件夹 4.在D:\Environment\mysql-5.7.19下新建 my.ini 文件 5.编辑 my.ini 文件 ,注意替换路径位置 1 [mysqld] 2 basedir=D:\Program Files\mysql-5.7\ 3 datadir=D:\Program Files\mysql-5.7\data\ 4 port=3306 5 skip-grant-tables 6

关于数据库的各种备份与还原姿势详解

别等时光非礼了梦想. 提交于 2020-02-01 22:17:50
数据库的冷备份与热备份 数据导出不完全等于数据备份: 数据导出是指将数据库中的数据逆向成SQL语句进行导出,所以导出的是SQL文件。通常用作把数据从一个系统迁移到另一个系统,目的是屏蔽系统之间的差异性 数据备份是指将数据库中数据存储的相关文件进行拷贝,用于保存一个数据库的全部物理数据,所以备份后的数据与原本数据在细节及状态上都是完全一致的。不会像SQL那样在使用了一些函数的情况下,可能会在不同的时间点或不同的系统上产生不一样的结果 冷备份与热备份: 冷备份:在数据库已经关闭的情况下,对数据的备份称作冷备份 热备份:与冷备份相反,在数据库节点不停机的状态下进行的备份被称作热备份 冷备份的限制: 数据库必须停机备份,这对一些线上数据库是无法接受的 备份的数据文件非常占用存储空间,并且不支持增量备份 冷备份是备份所有的数据文件和日志文件,所以无法单独备份某个逻辑库和数据表 联机冷备份: 单节点的数据库在冷备份时需要停机,这就会对业务系统产生影响。为了解决这个问题,我们可以组建集群然后挑选集群中的一个节点进行停机冷备份。由于集群中还有其他节点在运行,所以不必担心影响正在运行的系统。等备份结束之后再启动该节点,这样就能解决停机备份带来的影响 热备份的限制: 数据库在热备份的时候会全局加读锁,备份期间节点只能读取数据不能写入数据 联机热备份: 同样的方式,为了避免全局加锁

数据库热备份神器 - XtraBackup

随声附和 提交于 2020-02-01 22:09:05
常见的热备份方案 LVM方案 利用Linux的LVM技术来实现热备份,将MySQL的数据目录放到LVM逻辑卷上,然后通过LVM快照技术备份逻辑卷的内容。第一次备份是全量备份,之后的备份都是增量备份。在还原时,将快照中的数据目录恢复到ySQL的数据目录即可。 使用LVM这种技术不仅可以备份MySQL还可以备份MongoDB等其他数据库,但使用LVM做热备份方案也比较麻烦,因为需要手动创建逻辑卷、迁移数据目录、创建快照以及给数据库加锁等等,所以LVM并不是常用的热备份方案。 XtraBackup方案 因为LVM的麻烦,所以人们都希望使用专业的工具去做热备份,这个工具就是XtraBackup。XtraBackup是由Percona开源的免费数据库热备份工具,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份。因为XtraBackup在备份过程中不会打断正在执行的事务,而事务日志中记录了哪些是备份前写入的数据哪些是备份后写入的数据,所以无需加锁。 另外,XtraBackup提供了对备份数据的压缩功能,可以节约备份文件占用的磁盘空间及网络带宽。但XtraBackup在备份使用MyISAM作为存储引擎的表时会加读锁,即表中的数据可读但不可写,不过这也不是问题,之前提到了可以使用联机热备份的方式来解决加读锁的问题。同样,XtraBackup支持全量备份和增量备份

oracle Data guard

泄露秘密 提交于 2020-02-01 16:37:16
DATA GUARD的最主要的功能是冗灾。当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用、性能提升、数据保护以及故障恢复等。 DATA GUARD可以分为物理STANDBY和逻辑STANDBY两种。二者的最大差别在于,物理STANDBY应用的是主库的归档日志,而逻辑STANDBY 应用的是主库的归档日志中提取的SQL语句。由于二者这一点的区别,决定了物理STANDBY无论从逻辑结构和物理结构都是和主库保持一致,而逻辑 STANDBY则只需保证逻辑结构一致,且逻辑STANDBY在应用SQL语句的时候, 数据库 可以处于打开的状态。 如果从DATA GUARD的保护模式分,可以分为三种不同的保护模式: 保护最大化:这种模式的配置可以保证主库和备库的同步,任何情况下主库的损毁都不会导致已提交数据的丢失。如果主库和备库之间的网络出现问题,或者备库本身出现问题,都会导致主库停止数据处理。 可用最大化:这种模式和上面一种类似,也是会保证主库和备库的同步,区别在于,当网络或备库不可用时,主库仍然可以继续处理。 性能最大化:主库和备库是异步的。这种模式可能在主库出现损毁时,丢失一部分数据。但是这种模式对主库负荷最小,因此具有最好的性能 ========================================================================

Oracle Data Guard

僤鯓⒐⒋嵵緔 提交于 2020-02-01 16:36:31
DG 是 Oracle Data Guard 的简称。也就是Oracle11g的 数据卫士。 由于在工作中 Oracle 和 SQL SERVER2008 同时都需要维护管理。给我的感觉这里的 DG 其实和 Sql Server 2008的镜像实现的功能是一样的(当然更强大一些)。DG 中的物理备用库 尤其和 Sql Server 2008 的镜像实现的功能是一样的。但也有不同点:DG中的物理备用库可以在特定条件下 以只读或读写方式打开。而镜像则不可以(2012版本虽然可以读,但还是不能打开),当然 Sql Server 2008 的日志传送功能实现的 热备份库,是可以只读的。DG中的逻辑备用库既可以读又可以写(如果写的话需要闪回数据库后才能继续和主库保持同步)基于逻辑备用库的结构可以和 主库的不一样,这点Sql Server 2008 的复制订阅方式实现的从库有些类似。具体有哪些不同点,这里就不累述了,大家自己看书自通吧。 DG 使用3 中服务来管理 REDO数据的传送、REDO数据的应用、更改数据库角色。 1 、REDO 传输服务:控制从主生产库将REDO数据自动传输到一个或多个归档目的地。 2 、日志应用服务:即在备用库上应用REDO 数据,保持与主库事务同步。可以从归档redo日志文件和备用redo日志文件中应用。 3 、角色转换服务:使用切换或故障转移操作

Oracle Data Guard

限于喜欢 提交于 2020-02-01 16:36:13
DG 是 Oracle Data Guard 的简称。也就是Oracle11g的 数据卫士。 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理。给我的感觉这里的 DG 其实和 Sql Server 2008的镜像实现的功能是一样的(当然更强大一些)。DG 中的物理备用库 尤其和 Sql Server 2008 的镜像实现的功能是一样的。但也有不同点:DG中的物理备用库可以在特定条件下 以只读或读写方式打开。而镜像则不可以(2012版本虽然可以读,但还是不能打开),当然 Sql Server 2008 的日志传送功能实现的 热备份库,是可以只读的。DG中的逻辑备用库既可以读又可以写(如果写的话需要闪回数据库后才能继续和主库保持同步)基于逻辑备用库的结构可以和 主库的不一样,这点Sql Server 2008的复制订阅方式实现的从库有些类似。具体有哪些不同点,这里就不累述了,大家自己看书自通吧。 DG使用3中服务来管理 REDO数据的传送、REDO数据的应用、更改数据库角色。 1、REDO传输服务:控制从主生产库将REDO数据自动传输到一个或多个归档目的地。 2、日志应用服务:即在备用库上应用REDO数据,保持与主库事务同步。可以从归档redo日志文件和备用redo日志文件中应用。 3、角色转换服务:使用切换或故障转移操作,把备用库更改为主生产库

SQL Server 2008 还原数据库

馋奶兔 提交于 2020-02-01 03:47:39
1.得到数据库备份文件,怎么得到的, [能够看这里] ~ 2.把备份文件加个.bak 的后缀,比如: 3.打开SQL , 你能够新建一个空数据库 , 或者利用原有的数据库 , 点击右键>>任务>>还原>>数据库 4.弹出 [ 还原数据库 ] 对话框 , 在常规选择页中,操作例如以下: 5.在 [ 选项 ] 选择页中 , 操作: 6.直接按 确定 就 能够了 (PS: 之前还原第一次的时候 发生了错误, 我用了sa登录,可能是权限问题报错了,后来用WINDOWS身份认证的才得). ~ 来源: https://www.cnblogs.com/yxwkf/p/4001516.html

Oracle学习笔记(2)-入门篇1

耗尽温柔 提交于 2020-02-01 03:45:25
今天的内容有点多,分成了两篇,这里是比较简单的第一篇,是总结安装、启动和关闭的过程,先上图,点击放大。 一些SQL命令和语句: 建立数据库时加cache子句可以把表同时建立在内存中,读取时优先读取该表: SQL> create table emp1 cache as select * from emp; 查看内存中的表: SQL> select table_name, cache from user_tables; 查询参数信息: /* show parameter 参数类型;*/SQL> show parameter process;/* select * from v$parameter where name like '%参数类型%' */SQL> select * from v$parameter where name like '%session%'; 生成pfile和spfile: /*从spfile生成pfile*/SQL> create pfile from spfile;/*从pfile生成spfile*/SQL> create spfile from pfile; 按步骤启动数据库: SQL> startup nomount; /*仅启动例程*/SQL> alter database mount; /*再加载数据库*/SQL> alter database

用Sql Server 2000的数据库备份来还原Sql Server 2005中的数据库

与世无争的帅哥 提交于 2020-02-01 03:40:25
现在手中有Sql Server 2000中的数据库备份文件(如果此备份文件没有后缀名*.bak或*.trn,请追加相应的后缀名),欲将此文件还原到Sql Server 2005中,还原时突然报错,为此在网上搜索了有关文章, 金庆的专栏 中有一篇《 SQL2005备份还原问题 》讲解到了,但个人感觉不是很详细,现将分析和解决方法详细讲解。 【简单回顾】 如果我们有Sql Server 2000的数据库备份文件,要还原到另外一个Sql Server 2000数据库中,我们的操作是什么样的呢? 1、在目标数据库服务器中,打开Sql Server 2000的企业管理器,并新建与原库同名的数据库; 2、右键选择新建的数据库,找到并选择还原数据库,再随后的窗口中选择从设备; 3、添加Sql Server 2000的数据库备份文件并勾选覆盖原有数据库,点击确定,还原成功! 以上叙述为简单的回顾在Sql Server 2000中还原数据库的过程,虽然叙述的步骤不详细,但这大体的步骤已经可以说明一些问题了!请接着往下看…… 【还原Sql Server 2005】 回顾完Sql Server 2000中的数据库还原步骤,那么要将Sql Server 2000的数据库备份还原到Sql Server 2005上是不是也是如此呢?于是我如此这般的做了: 1、在目标数据库服务器中,打开 SQL Server