MySQL完全备份与恢复
admin
2023-04-23 08:03:08
0

数据库备份的重要性:
在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。数据库备份的重要性主要体现在:

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

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

程序错误、人为错误、计算机失败、磁盘失败、灾难(地震 火灾等)和偷窃

数据库备份的分类:
MySQL完全备份与恢复
MySQL完全备份与恢复
MySQL完全备份与恢复
MySQL完全备份与恢复
示例:

create database school;
create table info (id int,name char(10));
Insert into info (id,name) values (1,‘zs’);
----------------------完整备份----------------------------------------------------
Insert into info (id,name) values (2,’ls’);
------------------------增量备份----------------------------------------------
Insert into info (id,name) values (3,’ww’);
-------------------------增量备份和差异备份----------------------------------
Insert into info (id,name) values (4,’zl’);
---------------------增量备份和差异备份------------------------------

MySQL完全备份概念解读
MySQL的备份方式主要有完全备份与增量备份。完全备份是对整个数据库的备份、数据库结构和文件结构的备份,保存的是备份完成时的数据库,时增量备份的基础。
完全备份的优点是备份与恢复操作简单方便,缺点是数据存在大量重复,占用大量的备份空间,备份的时间长。
在生产环境中,这两种备份方式都会使用,需要制定合理高效的方案达到备份数据的目的,避免数据丢失造成严重的后果。
关于备份这里介绍两种方式
1.使用tar打包文件夹备份:MySQL的数据库文件默认都是保存在安装目录的data文件夹下面,可以直接保存data文件夹,但是占用空间的空间较大,可以使用tar打包压缩进行保存。下面介绍一些相关操作命令:

[root@localhost mysql]# yum install xz -y //安装xz压缩格式工具
[root@localhost mysql]# date +%F //指定的压缩文件日期格式
[root@localhost mysql]# tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data //对数据库文件夹进行压缩打包到/opt下
[root@localhost ~]# du -sh /opt/mysql-2018-08-30.tar.xz //du查看打包后占用的内存大小
[root@localhost ~]# du -sh /usr/local/mysql/data //du查看打包前原文件夹占用的内存大小
[root@localhost ~]# tar Jxvf /opt/mysql-2018-08-30.tar.xz /usr/local/mysql/data/ //将打包的备份文件恢复到数据库文件夹

具体操作如下图:

MySQL完全备份与恢复
MySQL完全备份与恢复
MySQL完全备份与恢复
2.使用mysqldump工具备份:使用mysqldump可以更加灵活地控制备份的内容,比如某几个表或库都可以单独备份。下面介绍一些相关操作命令:

(1)备份表数据:
mysqldump -u 用户名 -p 密码 选项 数据库名 表名 > /备份路径/备份文件名
mysqldump -u root -p school info > /opt/info.sql
(2)单个库备份:
mysqldump -u 用户名 -p 密码 选项 数据库名 > /备份路径/备份文件名
mysqldump -uroot -p school > /opt/school.sql #只会写库里所有表的创建和数据记录
(3)多个库备份:
mysqldump -u 用户名 -p 密码 选项 --databases 库名1 库名2 > /备份路径/备份文件名
mysqldump -uroot -p --databases school kgc > /opt/school_kgc.sql
(4)对所有库进行完全备份:
mysqldump -u 用户名 -p 密码 选项 --all-databases > /备份路径/备份文件名
mysqldump -uroot -p --all-databases > /opt/all.sql
(5)备份表结构:
mysqldump -u 用户名 -p 密码 -d 数据库名 表名 > /备份路径/备份文件名
mysqldump -u root -p -d school info > /opt/info-d.sql

MySQL数据完全恢复
当需要恢复数据库的时候,可以使用source命令和MySQL命令

(1)使用source命令将已经备份的库school恢复到MySQL中:
mysqldump -u root -p school > /opt/school.sql
MySQL完全备份与恢复
MySQL完全备份与恢复


(2)使用MySQL命令整库数据,同样在库chool提前已经备份好的情况下进行恢复:
mysqldump -u root -p school > /opt/school.sql
MySQL完全备份与恢复
MySQL完全备份与恢复


(3)mysqldump -u -root -p --databases school > /opt/school01.sql #连同库school本身和里面的表都会备份,直接恢复即可:
MySQL完全备份与恢复

恢复表:

(1)使用source命令恢复表,在数据表已经备份好的前提下进行恢复操作:
mysqldump -u root -p school info > /opt/info.sql #备份表
MySQL完全备份与恢复
MySQL完全备份与恢复


(2)使用MySQL恢复数据表,同样也是在数据表已经备份好的前提下进行恢复操作:
mysqldump -u root -p school info > /opt/info.sql #备份表
mysql -u 用户名 -p 密码 库名 < /库备份教本的路径
MySQL完全备份与恢复
MySQL完全备份与恢复

本篇补充

备份之后的文件是一个sql脚本,sql结尾是固定格式

相关内容

热门资讯

“台独”顽固分子沈伯洋参选台北... 【环球时报特约记者 陈立非】台湾今年年底举行“九合一”选举,国民党很早就确定由现任台北市市长蒋万安争...
伊拉克和巴基斯坦据称已分别同伊... 总台记者当地时间5月12日获悉,伊拉克和巴基斯坦已分别同伊朗签订协议,以从海湾地区运输石油和液化天然...
京沪高铁“涨价”,调价背后有何... 昨天(11日),京沪高铁发布公告称,决定对京沪高速线、合蚌高速线动车组列车公布票价进行优化调整,时速...
第三方样品A厂家生产支架样品测... 第三方样品A厂家生产支架样品测试实验报告 一、检测范围 本次检测对象为A厂家生产的XX型医用金属...
伊朗德黑兰地区发生4.6级地震 总台记者获悉,当地时间5月12日23时47分左右,伊朗德黑兰地区发生4.6级地震。震中位于德黑兰省和...
被科威特指控“武装渗透”布比延... 新华社科威特城/德黑兰5月12日电(记者尹炣 陈霄)科威特政府12日指认,伊朗伊斯兰革命卫队多名武装...
酒吧办护士制服派对被指低俗,当... 据媒体报道,5月12日国际护士节,浙江衢州有网友发帖称,当地APK·ELITE CLUB酒吧举办所谓...
珠海冠宇获得发明专利授权:“一... 证券之星消息,根据天眼查APP数据显示珠海冠宇(688772)新获得一项发明专利授权,专利名为“一种...
大华申请数据写入方法专利,提高... 国家知识产权局信息显示,浙江大华技术股份有限公司申请一项名为“数据写入方法、电子设备及计算机可读存储...
现在,赖清德更焦虑了 执笔/月半刀&宝刀刀&胡一刀5月13日,美国总统特朗普将开启访华行程。外界高度关注此次会晤中双方将如...