数据库备份 mysqldump讲析
admin
2023-04-23 12:03:18
0次

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

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...