Mysql数据库备份与恢复讲析
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本文主要给大家介绍Mysql数据库备份与恢复讲析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。数据库备份的重要性在生产环境中,数据的安全性是至关重要
千家信息网最后更新 2025年01月22日Mysql数据库备份与恢复讲析
本文主要给大家介绍Mysql数据库备份与恢复讲析,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。
数据库备份的重要性
在生产环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。数据备份的重要性主要体现在;
(1)提高系统的高可用性和灾难可恢复性,在数据库系统崩溃时,没有数据库备份就没法恢复数据
(2)使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案,如果让用户重新添加数据,未免代价太大
(3)没有数据就没有一切,数据库备份是一种防范灾难的强有力手段
造成数据丢失的原因:
1)程序错误
2)人为误操作
3)计算机失败(系统崩溃)
4)磁盘失败
5)灾难(如火灾,地震)和偷窃
数据库备份的分类:
(1)物理备份;指对数据库操作系统的物理文件(如数据文件,日志文件等)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)
冷备份:在关闭数据库时进行的备份操作,能够较好地保证数据库的完整性
热备份:在数据库运行状态中进行备份,这种备份方法依赖于数据库的日志文件
(2)逻辑备份:指对数据库逻辑组件(如表等数据库对象)的备份
从数据库备份策略角度,备份可分为完全备份,差异备份和增量备份
1)完全备份:每次对数据进行完整的备份。可以备份整个数据库,包含用户表,系统表,索引,视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间。所以,做一次完全备份的周期要长些
2)差异备份:备份那些自从上次完全备份之后被修改过的文件,只备份数据库部分内容,它比最初的完全备份小,因为只包含自上次完全备份以来所改变的数据库,优点是存储和恢复速度快
3)增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份
举例 create database school;
create table info(id int, nsme char(10));
insert into info values(1,'qw');
--------------完全备份-------------------------
insert into info values(2,'as');
---------------------增量备份--------------------------
insert into info values(3,'zs');
------------------增量备份和差异备份-----------------
insert into info values(4,'er');
这次增量备份只备份4,而差异备份则备份2,3,4
差异备份只备份上次完全备份之后的内容
增量备份则备份基于上次备份之后增加的部分进行备份
Mysql完全备份
1,使用tar打包文件夹备份
mysql的数据库文件默认都是保存在安装目录的data文件夹下,可以直接保存data文件夹,但是占用的空间大,所以使用tar打包压缩进行保存
(1)数据库文件很大,要使用压缩率较大的xz格式,
yum -y install xz #安装压缩工具xz
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data #选项为大写字母J
2,使用mysqldump工具备份
前面介绍的对Mysql整个数据库目录压缩的方式,是备份数据库中所有内容。使用mysqldump工具可以更加灵活的控制备份的内容,比如某几个表或库都可以单独备份。备份之后的文件是一个sql脚本,.sql结尾是固定格式
(1)备份表数据
mysqldump -u 用户名 -p 密码 选项 数据库名 表名 > /备份路径/备份文件名
mysqldump -u root -p school info >/opt/info.sql
(2)单个库备份
mysqldump -u 用户名 -p 密码 选项 数据库名 >/备份路径/备份文件名
mysqldump -u root -p school >/opt/school.sql
(3)多个库备份
mysqldump -u 用户名 -p 密码 选项 --databases 库名1 库名2 >/备份路径/备份文件名
mysqldump -u root -p --databases kgc school >/opt/school_kgc.sql
(4)对所有库进行完全备份
mysqldump -u 用户名 -p 密码 选项 --all-databases >/备份路径/备份文件名
mysqldump -u root -p --all-databases >/opt/all.sql
(5)备份表结构
mysqldump -u 用户名 -p 密码 -d 数据库名 表名 >/备份路径/备份文件名
mysqldump -u root -p -d school info >/opt/info-d.sql
Mysqul数据完全恢复
当需要恢复数据库的时候,可以使用source命令和mysql命令
1,source命令整库恢复
在库school已经备份的前提下进行恢复
mysqldump -u root -p school >/opt/school.sql
2,mysql命令整库恢复
同样也是在库school已经备份的前提下进行恢复
(1)mysqldump -u root -p school >/opt/school.sql #只备份库school里面的表内容,而库本身school没有备份,恢复数据时则要先创建库school,才能恢复
(2)mysqldump -u root -p --databases school >/opt/school01.sql #连同库school本身和里面的表都会备份,恢复时直接恢复即可
恢复表操作
1,使用source命令恢复表
在数据表已经备份的前提下进行恢复操作
mysqldump -u root -p school info >/opt/info.sql
2,使用mysql恢复数据表
同样也是在数据表已经备份的前提下进行恢复操作
mysqldump -u root -p school info >/opt/info.sql
mysql -u 用户名 -p 密码 库名 库备份脚本的路径
看了以上关于Mysql数据库备份与恢复讲析,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。
备份
数据
数据库
文件
用户
增量
密码
用户名
路径
内容
命令
差异
文件名
前提
系统
重要
工具
数据表
文件夹
灾难
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浪潮服务器管理口速率怎么查
京台服务器
数据库的建立为后期
2018互联网 网络安全
忘川风华录怎么换服务器
合金装备5无法访问服务器
ctf网络安全大赛北航
中奇互联网科技有限公司
数据库中阻止更改表
网络安全从业者需要具备的技能
怎么关闭数据库连接
疫情催生下的网络技术方向
诚信网络技术开发建议
华为企业园区网络技术建设方案
数据库jstor
校训网络安全报告
ocr软件开发方案
招聘短视频软件开发
软件开发公众号优惠款
网络服务器哪家机房好
广州能耗管理软件开发费用
数据库收回用户授权语句
类图 数据库关系图
玛莎拉蒂服务器价格
2017湖湘杯网络安全
软件开发 原型
网络安全个人存在问题
360 软件开发者
网络技术综合实训论文
邯郸人工智能软件开发靠谱吗