数据库备份 订阅
随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。 展开全文
随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。
信息
应    用
数据可靠性要求很高的行业
类    型
完全备份 事务日志备份
中文名
数据库备份
数据库备份背景
数据库作为信息系统的核心担当着重要的角色
收起全文
精华内容
下载资源
问答
  • 数据库备份
    千次阅读
    2022-03-17 16:28:09

    数据库的分离和附加一般情况下对于很大的数据库文件不适合,而备份和还原是针对于某个库某个数据从而进行操作,相对来说比较好一点。

    下面说一下关于数据库的备份操作:

    数据库备份有三种:完全备份、事务日志备份、差异性数据库备份

    完全备份:它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但是,它也需要花费更多的时间和空间。

    事务日志备份:事务日志备份内容是从还未被备份的事务日志开始,直到备份结尾的最后一个事务日志为止。

    事务日志备份属于高级备份的一种,需要一定的数据库基础。

    差异性数据库备份:包括自从上一次完整性备份以来所有改变的数据页,以及备份结尾的部分活动事务日志。

    接下来演示的属于完全备份

    使用SSMS工具备份

    首先选择你需要备份的数据库

    4.选择数据库,如果下拉框没有出来,稍等一会,再点击下拉框获取。

    5.最好选择数据库,文件和文件组插入时间比较长。

    6.选择磁盘,另外还有一个URL是一个网络备份。

    7.路径可以自行根据需要切换。

    就这样,数据库备份已成功完成。然后去到你刚才备份选择的路径就可以看到这个数据库的备份。

    这个就是我的备份,名称为“数据库备份”属于自定义。

    这个时候的备份是一个文件形式。

    扩展;下图“备份选项”,就了解一下就好了。

    一般都默认 “晚于”,永久不会过期的。

    下面的名称也属于自定义,可根据自己需要进行切换。

    点击“确定”,前提保证在“常规”界面操作完成,否则可能导致备份失败。

    更多相关内容
  • 主要介绍了sql server 2012 备份集中的数据库备份与现有的xxx数据库不同,需要的朋友可以参考下
  • postgresql数据库备份和恢复文档资料,详细介绍了PostgreSQL数据库的备份与恢复 方法,值得学习下
  • 易语言sql数据库备份恢复源码,sql数据库备份恢复,读出数据库
  • PostgreSQL数据库备份脚本,结合系统计划任务可以实现数据库的自动化备份。密码直接设置于脚本当中。
  • 简单直接,通俗易懂的Oracle数据库备份和恢复。对于Oracle数据库不了解的同志,可以查阅。
  • MySQL数据库备份

    千次阅读 2022-06-21 20:36:53
    日志文件在数据库进行备份和恢复时起到了很重要的作用 常用的日志文件默认保存在 /usr/local/mysql/data 目录下 可在 /etc/my.cnf 配置文件中的 [mysqld] 中进行日志的路径修改、开启、关闭等操作用于记录 mysql ...


    前言:
    数据库备份谨防数据丢失

    一、MySQL常用日志

    1.1 概述

    日志文件在数据库进行备份和恢复时起到了很重要的作用
    常用的日志文件默认保存在 /usr/local/mysql/data 目录下
    可在 /etc/my.cnf 配置文件中的 [mysqld] 中进行日志的路径修改、开启、关闭等操作

    1.2 错误日志

    用于记录 mysql 启动、停止或运行时产生的错误信息
    可通过一下字段进行更新

    log-error=/usr/local/mysql/data/mysql_error.log (指定日志的保存位置和文件名)
    

    1.3 二进制文件

    二进制日志,用来记录所有更新的数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复
    开启方式:

    log-bin=mysql-bin 或者 log_bin=mysql-bin
    

    1.4 中继日志

    一般情况下,它在 mysql 主从同步(复制)、读写分离集群的从节点上才开启。
    主节点一般不需要这个日志。

    1.5 慢查询日志

    慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化
    开启方式:

    slow_query_log=ON
    slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log (指定文件路径和名称)
    long_query_time=5 (设置执行超过5秒的语句会被记录,缺省时默认为10秒)
    

    1.6 数据库中的查询日志状态

    1.6.1 查看二进制日志状态开启

    show variables like '%log_bin%';
    

    在这里插入图片描述

    1.6.2 查看慢查询日志功能是否开启

    show variables like '%slow%';
    

    在这里插入图片描述

    1.6.3 查询慢时间设置

    
    show variables like 'long_query_time';
    
    

    在这里插入图片描述

    1.6.4 在数据库中设置开启慢查询的办法(临时)

    set global slow_query_log=ON;
    
    查看
    show variables like ‘long_query_time’;
    

    日志超时时间
    在这里插入图片描述

    二、备份

    2.1 概述

    备份的主要目的是灾难恢复

    还可以用来测试应用、回滚数据修改、查询历史数据、审计等

    在生产环境中,数据的安全性至关重要

    任何数据的丢失都可能产生严重的后果

    2.2 备份的重要性

    在企业中,数据的价值至关重要,数据保障了企业业务的正常运行。
    因此,数据的安全性及数据的可靠性是运维的重中之重,任何数据的吊事都可能对企业产生严重的后果。

    == 通常情况下,造成数据丢失的原因有一下几种:==

    程序错误
    人为操作错误
    运算错误
    磁盘故障
    灾难(火灾、地震、盗窃等)

    2.3 备份类型

    从物理与逻辑的角度分类可分为:逻辑备份、物理备份

    从数据库的备份策略角度分类可分为:完全备份、差异备份、增量备份

    ==完全备份:==每次对数据进行完整的备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。完全备份的备份与恢复操作都非常简单方便,但是数据存在大量的重复,并且会占用大量的磁盘空间,备份的时间也很长。

    ==差异备份:==备份那些自从上次完全备份之后被修改过的所有文件,备份的时间节点是从上次完整备份起,备份数据量会越来越大。恢复数据时,只需恢复上次的完全备份与最近的一次差异备份。

    ==增量备份:==只有那些在上次完全备份或者增量备份后被修改的文件才会被备份。以上次完整备份或上次增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份开始到最后一次增量备份之的所有增量依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。

    2.4 备份的办法

    数据库的备份可以采用很多种方式,如直接打包数据库文件(物理冷备份)、专用备份工具(mysqldump)、二进制日志增量备份、第三方工具备份等

    2.4.1 冷备份

    冷备份时需要在数据库处于关闭状态下,能够较好地保证数据库的完整性
    冷备份的特点就是速度快,恢复时也是最为简单的。
    通过直接打包数据库文件夹(/usr/loc.al/mysql/data)来实现备份

    2.4.2 通过启用二进制日志进行增量备份

    支持增量备份,进行增量备份时必须启用二进制日志。
    二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。
    如果进行增量备份(包含自上次完全备份或增量备份以来发生的数据修改) ,需要刷新二进制日志

    2.4.3 通过第三方工具备份

    第三方工具Percona xtraBackup是一个免费的MysQL热备份软件,支持在线热备份Innodb和xtraDB,也可以支持MySQL表备份,不过MyISAM表的备份要在表锁的情况下进行。

    2.5 备份命令

    完全备份

    InnoDB存储引擎的数据库在磁盘上存储成三个文件:db.opt(表属性文件)、表名.frm(表结构文件)、表名.ibd(表数据文件)。
    
    

    物理冷备份与恢复

    systemctl stop mysqld
    yum -y install xz
     
    #压缩备份
    cd /usr/local/mysql/data
    tar jcvf mysql_all_$(date +%F).tar.xz /usr/local/mysql/data
    systemctl start mysqld
     
    #模拟故障,删除数据库
    drop database HUISUO;
     
    #解压恢复
    tar jxvf /opt/mysql_all_2022-06-21.tar.xz -C /usr/local/mysql/data
    cd /usr/local/mysql/data
    mv usr/local/mysql/data/* ./
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    完全备份一个或多个完整的库(包括其中所有的表)

    mysqldump -u root -p[密码] --databases 库名1 [库名2] ... > /备份路径/备份文件名.sql   
    #导出的就是数据库脚本文件
     
    例:
     
    mysqldump -u root -p --databases liu > /opt/kgc.sql       #备份一个kgc库
    mysqldump -u root -p --databases mysql li > /opt/mysql-kgc.sql    #备份mysql与 kgc两个库
    

    在这里插入图片描述

    备份所有的库

    mysqldump -uroot -p[密码] --all-databases > /备份路径/备份文件名.sql
     
    

    完全备份指定库中的部分表

    mysqldump -u root -p[密码] 库名 [表名1] [表名2] … > /备份路径/备份文件名.sql
     
    如:
    mysqldump -uroot -p[密码] [-d] HUISUO member1 > /opt/member1.sql
    #使用“-d”选项,说明只保存数据库的表结构
    #不使用“-d”选项,说明表数据也进行备份
    

    在这里插入图片描述在这里插入图片描述

    查看备份文件

    grep -v "^--" /opt/member1.sql | grep -v "^/" | grep -v "^$"
    

    在这里插入图片描述

    2.6 增量备份与恢复

    2.6.1 增量备份需要开启二进制日志功能

    vim /etc/my.cnf
    #错误日志
    log-error=/usr/local/mysql/data/mysql_error.log	 
    #通用查询日志
    general_log=ON
    general_log_file=/usr/local/mysql/data/mysql_general.log
    #二进制日志
    log-bin=mysql-bin	
    #慢查询日志
    slow_query_log=ON
    slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
    long_query_time=5
    #配置文件添加完后需要重启MySQL
    systemctl restart mysql
    

    在这里插入图片描述

    2.6.2 可每天进行增量备份操作,生成新的二进制文件

    先完成完全备份(在创建好表和库的基础上)

    systemctl restart mysqld.service
    mysqldump -uroot -p meeting working > /mnt/meeting_working_$(date +%F).sql
    mysqldump -uroot -p meeting > /mnt/meeting_$(date +%F).sql
    生成新的二进制文件(可每天进行增量备份操作)
    mysqladmin -uroot -p flush-logs
    

    2.6.3 查看新生成的日志内容

    mysqlbinlog --no-defaults --base64-output=decode-rows -v /usr/local/mysql/data/mysql-bin.000002
    

    2.7 恢复的方法

    2.7.1 按位置恢复

    先删除表
    drop table working;
     
    清空表内容
    truncate table meeting.working;
     
    恢复结束点为删除命令前和插入命令后
    mysqlbinlog --no-defaults --stop-position='902' usr/local/mysql/data/mysql-bin.000003 | mysql -uroot -p
    

    2.7.2 按时间恢复

    先清空表CLASS1,方便实验
    mysql -uroot -p -e "truncate table meeting.working;"
    mysql -uroot -p -e "select * from meeting.woring;"
     
    mysqlbinlog --no-defaults --stop-datetime='2021-04-15 15:39:23' /opt/mysql-bin.000003 |mysql -uroot -p
    mysql -uroot -p -e "select * from meeting.woring;"
    

    总结:

    mysql没有直接提供增量备份的工具,需要借助二进制日志文件进行操作

    使用日志分隔日志的方式进行增量备份

    增量恢复需要根据日志文件的时间先后逐个执行

    使用基于时间和位置的方式进行恢复,可以更精准的恢复数据

    展开全文
  • 在Linux中Oracle数据库备份的方法有很多,就像mysql一样可以使用不同方法进行备份oracle数据库
  • MariaDB数据库备份之逻辑备份

    千次阅读 2022-03-17 17:47:55
    在生产机器上通常是要备份数据库的,主要是防止重要数据丢失,这里就不细说为什么备份了,这篇文章是MariaDB数据库的逻辑备份 大概说一下备份方式吧 物理备份 这个方式就是拷贝物理文件备份: mariadb的数据库文件路径 /...

    在生产机器上通常是要备份数据库的,主要是防止重要数据丢失,这里就不细说为什么备份了,这篇文章是MariaDB数据库的逻辑备份

    大概说一下备份方式吧

    物理备份

    这个方式就是拷贝物理文件备份: mariadb的数据库文件路径 /var/lib/mysql
    比如:cptar拷贝物理文件也就是要停机或者停止访问,说白了就是停止提供服务了,常见的就是服务器维护,也不一定是停止服务也可以使用:xtrabackup热备工具,这个工具就不需要停止服务就可以备份,xtrabackup工具备份过程不会打断正在执行的事务也就是无需锁表就可以备份
    有兴趣可以研究一下xtrabackup工具用法,我这里由于没有超过四五十GB的数据库,所以用 mysqldump即可

    逻辑备份

    逻辑备份,就是将数据库的数据以SQL语句的形式,导出备份 这个备份说白了就是SQL语句了
    这个就用到 mysqldump 这个工具了,这个工具是数据库自带的,MySQL以及MariaDB数据库都是有的,毕竟MariaDB数据库是MySQL数据库的分支吧,基本上和MySQL数据库是一样的(有兴趣可以了解一下这两个数据库的历史)
    mysqldump这个工具,对于数据库数据只有 四五十GB的情况是没问题的,但超过了最好是用物理备份了

    使用mysqldump 逻辑备份所有数据库

    参数解释:
    -A 备份所有数据库
    -B 备份单个或者多个数据库,也能指定备份某个数据库中的某个表
    其他参数解释:
    -u 数据库用户
    -p 数据库密码
    “>” 将结果输出到指定名称指定位置下

    备份所有数据库

    命令格式:

    mysqldump -u你的用户 -p你的密码 -A>[备份到那个位置以及叫什么名].sql
    

    在系统中输入命令:

    mysqldump -uroot -p -A> /opt/allbf.sql
    

    在这里插入图片描述
    输入完命令会提示Enter password:输入你数据库用户密码回车即可(我这种方式是为了更安全一些)
    查看备份路径下是否有备份的sql文件
    在这里插入图片描述
    没有基本上不是你查看的位置有问题,就是在刚开始备份语句有问题

    删除一个表的数据

    先查看是否一个表中是否有数据
    在这里插入图片描述
    删除 city 表的所有数据

    delete from world.city
    

    在这里插入图片描述

    恢复数据

    第一种回复方法 Linux终端回复

    命令格式:

    mysql -uroot -p <数据库备份文件;
    

    例如:

    mysql -uroot -p < /opt/allbf.sql
    

    在这里插入图片描述

    第二种MariaDB终端回复

    命令格式:

    source 数据库备份文件;
    

    例如:
    就是登录到数据库中,在数据库终端执行

    source /opt/allbf.sql;
    

    在这里插入图片描述

    那种都可以但最后的结果是回复了

    在这里插入图片描述

    使用mysqldump 备份指定的一个数据库

    备份某一个数据库

    具体参数上面介绍的很清楚
    我备份的是 world 数据库

    mysqldump -uroot -p -B 数据库名称 > [备份到那个位置以及叫什么名].sql
    

    例如:

    mysqldump -uroot -p -B world > /opt/wobf.sql
    

    在这里插入图片描述

    删除一个表的数据库

    先查看是否一个表中是否有数据
    在这里插入图片描述
    删除 city 表的所有数据

    delete from world.city
    

    在这里插入图片描述

    恢复数据

    第一种回复方法 Linux终端回复

    命令格式:

    mysql -uroot -p 数据库名称 <数据库备份文件;
    

    例如:

    mysql -uroot -p world < /opt/wobf.sql
    

    第二种MariaDB终端回复

    命令格式:

    source 数据库备份文件;
    

    例如:
    就是登录到数据库中,在数据库终端执行

    source /opt/wobf.sql;
    

    那种都可以但最后的结果是回复了

    在这里插入图片描述

    展开全文
  • 数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段 一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源 一、MySQL ...

    目录

    前言

    一、MySQL 完全备份

    1.数据库备份方式精讲

    1.1 数据库备份的重要性

    1.2 数据库备份的分类

    1.3 MySQL 完全备份概念解读

    2.mysqldump 备份演练

    2.1 使用 tar 打包文件夹备份

    2.2 使用 mysqldump 工具备份 

    二、MySQL 完全恢复

    1.恢复整库操作

    1.1 source 命令整库恢复

    1.2 MySQL 命令整库恢复

     2.恢复表操作

    2.1 使用 source 命令恢复表

    总结


    前言

    随着办公自动化和电子商务的飞速发展,企业对信息系统的依赖性越来越高,数据库作为信息系统的核心,担当者重要的角色
    数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段
    一个合理的数据库备份方案,能够在数据丢失时,有有效地恢复数据,而且也需要考虑技术实现难度和有效地利用资源

    一、MySQL 完全备份

    1.数据库备份方式精讲

    1.1 数据库备份的重要性

    生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果

    数据库备份的重要性主要体现在:

    1. 提高系统的高可用性和灾难可恢复性,在数据库系统崩溃时,没有数据库备份就没法找到数据
    2. 使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案,如果让用户重新添加数据,代价未免太大
    3. 没有数据就没有一切,数据库备份是一种防范灾难的强力手段

     使用数据库的过程中,有多种原因造成数据的丢失:

    1. 程序错误:指对数据库操作的程序难免有些错误,造成数据丢失
    2. 人为错误:指由于使用人员的误操作造成的数据被破坏,还有可能是黑客对系统攻击造成的数据丢失等
    3. 计算机失败:指运行数据库的服务器操作系统或软件损坏,有可能造成数据的损坏
    4. 磁盘失败:指硬盘等存储数据的硬件设备,长时间运行后可能损坏,造成数据丢失
    5. 灾难(如火灾、地震)和偷窃:指自然灾害等的发生,有可能造成数据丢失
    • 数据丢失会造成严重的经济损失,如携程网2015年5月28日数据库崩溃,每小时损失大概106万美元
    • 所以在企业信息系统建设中,数据库的备份管理是非常重要的内容

    1.2 数据库备份的分类

    备份方式分很多种,从物理与逻辑的角度,备份可分为以下几类:

     1.2.1 物理备份

    • 指对数据库操作系统的物理文件(如数据文件、日志文件等)的备份
    • 物理备份是磁盘块为基本单位将数据从主机复制到备机
    • 物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)
    • 冷备份(脱机备份):在关闭数据库时进行的备份操作,能够较好地保证数据库的完整性
    • 热备份(联机备份):在数据库运行状态中进行操作,这种备份方法依赖于数据库的日志文件

    1.2.2 逻辑备份

    • 逻辑备份是以文件为基本单位将数据从主机复制到备机
    • 指对数据库逻辑组件(如表等数据库对象)的备份

    从数据库的备份策略角度来看,备份又可分为完全备份、差异备份和增量备份

    1.2.3 完全备份

    • 每次对数据进行完整的备份
    • 可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象
    • 但它需要花费更多的时间和空间,所以,做一次完全备份的周期要长些

    1.2.4 差异备份

    • 备份那些自从上次完全备份之后被修改过的文件,即只备份数据库部分的内容
    • 它比最初的完全备份小,因为只包含自上次完全备份以来所改变的数据库
    • 它的优点是存储和恢复速度快

    1.2.5 增量备份

    • 只有那些在上次完全备份或者增量备份后被修改的文件才会被备份

    1.2.6 备份方式比较

    备份方式完全备份差异备份增量备份
    完全备份时的状态表1、表2表1、表2表1、表2
    第1次添加内容创建表3创建表3创建表3
    备份内容表1、表2、表3表3表3
    第2次添加内容创建表4创建表4创建表4
    备份内容表1、表2、表3、表4表3、表4表4
    • 完全备份每次都是把整个数据库中的内容进行备份
    • 差异备份在第1次添加内容后备份,即备份新添加的内容;第2次添加内容后备份,把第1次添加的内容也进行了备份,它是根据完全备份时的状态决定的
    • 差异备份每次都是把完全备份之后所有的修改进行备份,而不管之前是否做过差异备份
    • 增量备份只备份每次新修改的内容,第1次创建表3,就对表3备份,第2次添加表4后,因为之前已经备份过表3,所以只备份表4的内容

    1.3 MySQL 完全备份概念解读

    • MySQL 的备份方式主要有完全备份与增量备份
    • 完全备份是对整个数据库的备份、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是增量备份的基础
    • 完全备份的优点是备份与恢复操作简单方便,缺点是数据存在大量重复,占用大量的备份空间,备份的时间长
    • 在生产环境中,这两种备份方式都会使用,需要制定合理高效的方案达到备份数据的目的,避免数据丢失造成严重的后果

    2.mysqldump 备份演练

    • MySQL 数据库的备份可以采用两种方式
    • 因为数据库实际上就是文件,直接打包数据库文件夹,或者是使用专用备份工具 mysqldump 都可以进行备份工作

    2.1 使用 tar 打包文件夹备份

    MySQL 的数据库文件默认都是保存在安全目录的 data 文件夹下,可以直接保存 data 文件夹,因为占用空间较大,可以使用data 打包压缩进行保存

    yum -y install xz
    #数据库文件很大,可以使用压缩率较大的xz格式压缩,首选需要安装xz压缩格式工具
    
    tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
    #对数据库文件夹进行打包操作
    
    ls /opt
    #查看打包命令是否运行成功,已经生成了备份文件
    
    du -sh /opt/mysql-2021-10-26.tar.xz 
    #对比打包前后的文件大小,可以看到压缩的备份文件所占用空间很小
    
    tar -Jxvf /opt/mysql-2021-10-26.tar.xz -C /usr/local/mysql/data/
    systemctl restart mysql
    #如果数据库文件损坏数据丢失,可以解压缩文件,相当于数据恢复
    

     

    2.2 使用 mysqldump 工具备份 

    • mysqldump是客户端常用逻辑备份程序,能够产生一组被执行以后再现原始数据库对象定义和表数据的SQL语句。它可以转储一个到多个MySQL数据库,对其进行备份或传输到远程SQL服务器。mysqldump更为通用,因为它可以备份各种表。
    • 使用 mysqldump 可以更加灵活地控制备份的内容,比如某几个表或库都可以单独备份
    •  mysqlhotcopy仅适用于某些存储引擎(MyISAM和ARCHIVE)
    #开始之前,创建库和表,用作例子
    
    mysql -uroot -p123123
    #输入密码进入数据库,以上为我的密码
    
    create database SCHOOL;
    #创建库
    use SCHOOL;
    
    create table CLASS01 ( id int(2) not null auto_increment, name varchar(10) not null, sex char(5) not null, hobby varchar(10), primary key (id));
    #创建表结构
    #字段一:id,最大显示长度2,不能为空,自动递增从1开始
    #字段二:name,可变长度字段,10,不能为空
    #字段三:sex,固定长度5,不能为空
    #字段四:hobby,可变长度,最多10字符
    #字段四:主键(id)
    
    insert into CLASS01 values(1,'wangyi','man','reading');
    insert into CLASS01 values(2,'wanger','woman','singing');
    #插入2条数据
    
    select * from CLASS01;
    #检查一下
    
    quit
    #退出数据库
    

    #使用 mysqldump 对某些表进行完全备份,命令格式如下:
    mysqldump -u[用户名] -p[密码] [选项] [数据库名] [数据表名] > /备份路径/备份文件名.sql
    #导出的为数据库脚本文件
    
    例:对库SCHOOL中的表class进行备份至/opt/目录下
    mysqldump -uroot -p[密码] SCHOOL CLASS01 > /opt/test01.sql
    

    #对某些库进行完全备份
    mysqldump -uroot -p[密码] [数据库名] > /目录/备份文件名.sql
    
    例:
    mysqldump -uroot -p123123 SCHOOL > /opt/test02
    
    
    #对多个库进行完全备份
    mysqldump -uroot -p123123 --databases SCHOOL sys > /opt/test03.sql
    
    
    #对所有库进行完全备份
    mysqldump -uroot -p123123 --all-databases > /opt/test04.sql
    
    
    #直接备份表结构
    mysqldump -uroot -p123123 -d SCHOOL CLASS01 > /opt/test05.sql
    
    
    ls /opt/
    #查看打包命令是否运行成功,已经生成了备份文件
    

     

    cat /opt/test05.sql
    #分析 mysqldump 工具生成的备份文件的内容
    

     

    •  上面使用了 -d 选项,说明只保存数据库的表结构,且表中只有一个库,可以看到先删除了表(同名),再创建了它
    • 删除和创建都是最普通的 MySQL 命令,任何一条在 MySQL 中都是可以执行的语句,有了这些语句就可以创建出和现在的表结构相同的表
    • 如果不使用 -d 选项,会把数据也进行备份,下面看看数据时如何保存
    cat /opt/test01
    

    • 可以看到与使用 -d 参数的差别是最后出现了 insert into 语句,往数据库中插入了两条数据,也就是说,数据的备份是保存的插入语句操作
    • 通过以上分析,很容易理解,备份的本质就是保存数据库当前表结构的创建语句和现有数据的插入语句,有了它们就可以直接恢复数据库的状态

    二、MySQL 完全恢复

    • 前面介绍了数据库的完全备份,使用 mysqldump 工具可以把数据的创建语句保存在备份的脚本文件中
    • 当出现错误时,可以使用以下几种方法恢复它们

    1.恢复整库操作

    1.1 source 命令整库恢复

    mysql -uroot -p123123
    
    show databases;
    drop database SCHOOL;
    show databases;
    
    source /opt/test03.sql
    #之前备份过的,该备份为SCHOOL和sys两个库的完整备份
    #注意!选项得加“--databases”才是完整的备份,不然会恢复不了
    

    1.2 MySQL 命令整库恢复

    quit
    
    mysql -uroot -p123123 -e 'drop database SCHOOL;'
    mysql -uroot -p123123 -e 'SHOW DATABASES;'
    
    mysql -uroot -p123123 < /opt/test03.sql
    
     mysql -uroot -p123123 -e 'SHOW DATABASES;'
    

     2.恢复表操作

    • 恢复数据表同样可以使用 source 命令和 mysql 命令操作

    2.1 使用 source 命令恢复表

    mysql -uroot -p123123
    use SCHOOL;
    show tables;
    drop table CLASS01;
     
    source /opt/test01.sql
    #恢复表
    
    show tables;
    select * from CLASS01;
    #查看
    

     2.2 使用 mysql 命令恢复表

    quit
    
    mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
    
    mysql -uroot -p123123 -e 'DROP TABLES SCHOOL.CLASS01;'
    mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
    
    mysql -uroot -p123123 SCHOOL < /opt/test01.sql
    mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
    

     

    总结

    MySQL 需要定期实施备份,指定合适的备份计划或策略,并严格遵守
    除了进行完全备份,开启 MySQL 服务器的日志功能也很重要,完全备份加上日志,可以对 MySQL 进行最大化还原
    备份文件的名字还需钥使用统一的易于理解的名称,推荐使用库名或表名加上时间的命名规则,在需要恢复数据库时能很容易的定位到相应的所需备份文件
     

    展开全文
  • 数据库备份与恢复数据库备份与恢复
  • 达梦数据库备份

    千次阅读 2022-05-12 15:51:14
    看看达梦数据库的联机备份的操作过程: 达梦数据库图形界面做的相当不错,使用图形化界面操作备份非常方便: 打开DM管理工具 这里如果没打开归档直接备份是不行的。 这里归档打开后再...
  • 软件特色: 1、纯“绿色化”、永久免费、无需安装、操作便捷,极小化内存占用; 2、全面支持(32/64位)Windows操作系统与SQL Server服务器;...8、完美支持超大SQL数据库备份(经测试:支持10G或更大SQL数据库备份)。
  • java中实现数据库备份

    千次阅读 2022-01-12 15:50:38
    java中实现数据库备份 1、直接上代码 public void backup() { File file = new File(backupConfig.getBackupPath()); if (!file.exists()) { file.mkdirs(); } String fileName = backupConfig....
  • MySQL 数据库备份(一)(完全备份与恢复)

    万次阅读 多人点赞 2021-02-05 19:29:54
    数据库备份方式精讲1.1 数据库备份的重要性1.2 数据库备份的分类1.2.1 物理备份1.2.2 逻辑备份1.2.3 完全备份1.2.4 差异备份1.2.5 增量备份1.2.6 备份方式比较1.3 MySQL 完全备份概念解读2.mysqldump 备份演练2.1 ...
  • Oracle数据库备份与恢复

    千次阅读 2021-01-04 20:17:23
    Oracle数据库备份与恢复一、脱机备份与恢复1.脱机备份获取数据文件列表获取控制文件列表获取联机重做日志文件列表备份测试2.脱机恢复二、联机备份与恢复1.将数据库转换为归档模式2.联机备份3.联机恢复三、不完全恢复...
  • MySQL数据库备份脚本

    千次阅读 2022-02-23 14:56:40
    @echo 开始备份数据库。 set "ymd=%date:~,4%%date:~5,2%%date:~8,2%" @备份数据库目录 set "bak_path=D:\data_bak" @数据库安装目录 set "mysql_dump_path=D:\mysql-5.7.30-winx64\bin" @连接数据库及要备份的库...
  • 数据库备份失败处理

    千次阅读 2022-01-14 15:18:25
    数据库0级备份报错如下: 故障处理过程: 1、初步怀疑是数据库监听出了问题 onstat -g ntt 发现有一个数据库监听是正常的 2、查看sqlhosts,发现里面需要有两个数据库监听 3、仔细比对发现sqlhosts文件中有...
  • java 实现数据库备份

    千次阅读 2021-10-29 14:35:40
    ") public void job4() { try { //备份当天数据库 DatabaseTool.backup(DataBaseInFo.MYSQL_PATH,DataBaseInFo.MYSQL_IP,DataBaseInFo.MYSQL_PORT,DataBaseInFo.USER_NAME,DataBaseInFo.PASSWORD,DataBaseInFo....
  • MySQL-Workbench数据库备份

    千次阅读 2022-04-15 10:35:22
    一、使用Date Export功能备份数据库 DumpStructure and Data:同时备份表结构和数据;勾选Objects to Export下三个选项,备份存储过程、函数、事件和触发器。 Export to Self-Contained File:备份整库到一个...
  • MySQL 数据库备份 和 恢复
  • MySQL数据库备份与还原

    千次阅读 2022-02-11 10:24:10
    MySQL数据库备份
  • 2011年下半年系统架构设计师考试上午真题试题(综合知识) 数据备份是信息系统运行管理时保护数据的重要...()可针对上次任何一种备份进行,将上次备份后所有发生变化的数据进行备份,并将备份后的数据进行标记。 ...
  • Linux下oracle数据库备份方案

    千次阅读 2022-03-03 09:54:18
    #新建Oracle数据库备份目录 mkdir -p /backup/oracledata #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Oracle数据库时设置的) chown -R oracle:oinstall /backup/oracledata ...
  • 达梦数据库备份、还原与恢复

    千次阅读 2022-04-26 22:18:18
    达梦数据库备份恢复总结 前言 随着IT科技的不断发展,数据已成为各大企业的核心资产,数据安全性越来越被重视。数据库备份是 DBA 日常最重要的工作内容。备份的主要目的是数据容灾,保证数据的安全性,在数据库发生...
  • PostgreSQL数据库备份和恢复

    万次阅读 多人点赞 2020-09-10 10:48:04
    pg_dump 是备份数据库指令; 10.194.227.231是数据库的ip地址; postgres 是数据库的用户名; postgres 是数据库名; > 意思是导出到指定目录; 4、图文并茂 备份 二、恢复 1、备份命令 psql
  • shell脚本实现数据库备份

    千次阅读 2022-04-09 22:40:37
    /bin/bash #数据库用户名 user=root #数据库密码 key=123456 #被备份数据库名称 dbname=mysql #获取日期 date=$(date +%Y%m%d); #定义备份文件名称格式:库名_日期 bak=${dbname}_${date}; if [ ! -f /tmp/$bak....
  • 备份概述数据备份分类完整数据库备份文件备份部分备份差异备份日志备份事务日志备份最常用的备份方法选择备份策略和恢复模式备份策略简单恢复模式下的备份简单恢复模式下的完整数据库备份+差异数据库备份完整恢复...
  • SQL数据库备份与删除

    千次阅读 2021-11-20 16:16:26
    下面将介绍SQL Server自带的数据库备份方法,希望可以帮助大家解决日常备份。 第一步:登录数据库—>管理—>维护计划—>维护计划向导 第二步:输入维护计划“名称”及“说明”,点击“更改”按钮 第三步:在“新建...
  • SQLServer数据库备份的使用

    千次阅读 2022-01-13 22:34:24
    SQLServer数据库备份的使用 方法一:使用SQL语句添加语句 1. 数据库备份 选择想要备份的数据库,”右键“→”任务“→”生成脚本“。 直接“下一步”。 选择好具体的数据库对象,然后点击“下一步”。 选择要保存...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 601,657
精华内容 240,662
关键字:

数据库备份

友情链接: demo.zip