千家信息网

数据库备份 mysqldump讲析

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本文主要给大家简单讲讲数据库备份 mysqldump讲析,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔数据库备份 mysqldump讲析主题吧,希望可以给大家带来
千家信息网最后更新 2025年11月07日数据库备份 mysqldump讲析

本文主要给大家简单讲讲数据库备份 mysqldump讲析,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔数据库备份 mysqldump讲析主题,希望可以给大家带来一些实际帮助。

======从物理,逻辑角度========

物理备份:对数据库操作系统的物理文件的备份(数据文件、日志文件)

方法:

冷备份:在关闭数据库的时候进行

热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件


逻辑备份:对数据库逻辑组件的备份

======从数据库的策略角度======

完整备份:

优点:简单方便

缺点:数据存在大量的重复

占用大量的备份空间

备份时间长

差异备份基于上一次完整备份后面多的内容进行备份


物理备份:

yum install xz -y

tar Jcvf /opt/mysql-$(date+%F).tar.xz /usr/local/mysql/data/

#备份当时的mysql数据文件形成压缩文件到opt下面的压缩包

mysqldump 命令对单个库进行完全备份【但是不会有create创建的语句】

保存表结构的话要加-d

mysqldump -u用户 -p密码 数据库名 > 保存的文件路径,文件类型为sql

举例:#备份名为school的数据库到/opt/取名为school.sql

mysqldump -uroot -pabc123 school > /opt/school.sql #mysqldump -uroot用户 -p密码 数据库名school > /opt/school.sql


=======恢复数据,导回数据========

方法一:

需要提前创建数据库school

mysql -uroot -pabc123 school < school.sql

方法二:

mysqldump -uroot -pabc123 --databases school > school.sql

无需提前创建数据库school

mysql -uroot -pabc123 < school.sql

方法三

首先进入数据库,备份一份数据,

drop删除的表

source 之前备份数据的文件路径,结尾不用加;


多个数据库备份:

mysqldump -uroot -p --databases数据库名称1 数据库名称2 > /opt/文件名.sql

完整性数据库备份

备份所有的数据库结构:

mysqldump -u用户名 -p --all-databases > 保存文件路径 文件类型sql

备份一份完整的数据库文件:

mysqldump -u用户名 -p --databases 数据库名 > 保存文件路径 文件类型sql

保存数据库中的表的内容备份:

mysqldump -u用户名 -p 数据库名表名 > 保存文件路径 文件类型sql

增加 增量备份的刷新语句【前提是一定已经提前完成完整性备份,再刷新语句,输入刷新语句后,前面的增量操作会导入上一个二进制日志节点中】

[root@client~]# mysqladmin -uroot -pabc123 flush-logs


[root@client~]# mysqlbinlog --no-defaults -base64-output=decode-rows -v /opt/bak_sql/mysql-bin.000001 #查看二进制日志文件,使用64位解码才能查看到命令语句



恢复改正有误操作的增量备份数据时:两种方法基于时间的和 基于位置点

1.基于时间点恢复数据:

场景举例:首先产生了误操作之后进行了增量备份,删除这个误操作的数据表后,恢复数据时。

首先恢复之前备份的完整性备份,然后查看增量备份的二进制文件,


查找到错误的操作命令上面的时间点复制粘贴,然后输入命令 :

mysqlbinlog --no-defaults --stop-datetime='2018-09-03 15:31:56' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123

查找到下一条正确的操作命令上面的时间点复制粘贴,然后输入命令:

mysqlbinlog --no-defaults --start-datetime='2018-09-03 15:32:16' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123


2.基于位置点:误操作的位置点是:at 887

场景举例:首先产生了误操作之后进行了增量备份,删除这个误操作的数据表后,恢复数据时。

首先恢复之前备份的完整性备份,然后查看增量备份的二进制文件,


查找到错误操作的上一次可以操作执行的位置点: at 833 ,输入命令:

mysqlbinlog --no-defaults --stop-position='833' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123

查找到错误操作的下一次可以操作执行的位置点: at 930 ,输入命令:

mysqlbinlog --no-defaults --start-position='930' /usr/local/mysql/data/mysql-bin.000002 | mysql -uroot -pabc123


========退出mysql,操作mysql=====


导回之前备份的路径,执行命令(可以不进入数据库的进行命令操作)

mysql -uroot -p 数据库 < 之前备份的文件路径


不用进入数据库就可以进行的操作:需要加-e

举例语法:mysql -u用户 -p密码 -e 'use 数据库;show databases;'


增量备份,恢复数据库的时候需要先恢复原先的完整性备份,然后再输入命令

[root@client~]# mysqlbinlog --no-defaults mysql-bin.000002 | mysql -uroot -p

PS:当你想要恢复增量备份的时候,只有先恢复之前的完整性备份后,输入增量备份的刷新语句之后,再恢复000002节点的增量备份

数据库备份 mysqldump讲析就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的行业资讯。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

备份 数据 数据库 文件 命令 增量 路径 输入 完整性 方法 用户 语句 位置 时间 二进制 日志 物理 类型 内容 密码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 c# 附加数据库 网络安全应急处置图 联想服务器装数据库 头歌数据库查看表结构和表名 河西区智能软件开发服务价钱 没有配置emo服务器 使用jmeter测数据库 北京人民银行软件开发中心 2751服务器电源改装 计算机网络技术专升本二本分数线 服务器fan错误 服务器安全审计中孚 我的世界云梦服务器权限 学习网络安全哪个网站比较好 北京苹果软件开发公司有哪些 软件开发考研可以报几个专业 SQL语言指向数据库 用云服务器搭建私服方舟 杭州软件开发上市公司 取消服务器的文件怎么打开 北京现代少儿编程平台软件开发 苏州大宇宙软件开发实习生待遇 网络安全是我们共同的责任 数据库实体的属性分为 数据库中的关键字如何删除 同账号不同服务器不能邮寄东西吗 杂质制备数据库 网络安全保障四小一大 java 数据库编码 对网络安全这门课的认识
0