两个场景下Mysqldump数据库备份恢复
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,场景一昨天凌晨2点做过一次完全备份,白天正常使用,该下班的时候,好巧啊!硬盘坏了。不过幸运的是做过备份并且二进制日志和数据库分开存放1、建立数据库并开启二进制日志建立用于存放二进制日志的文件夹,修改文
千家信息网最后更新 2025年11月12日两个场景下Mysqldump数据库备份恢复
场景一
昨天凌晨2点做过一次完全备份,白天正常使用,该下班的时候,好巧啊!硬盘坏了。不过幸运的是做过备份并且二进制日志和数据库分开存放
1、建立数据库并开启二进制日志

建立用于存放二进制日志的文件夹,修改文件夹属组属主使mysql用户可以读
二点钟做完全备份,备份完看下是否备份成功
mysqldump -A -F --single-transaction --master-data=2 > /backup/fullbak`date +%F`.sql
less /backup/fullbak2019-07-11.sql #--master-data选项在备份时自动记录bin-log的位置
模拟2点到18点的数据修改
2、存放数据库的硬盘损坏,所有数据库丢失
3、还原
故障恢复中可以让用户暂停访问数据库
vi /etc/my.cnf #添加一行

systemctl restart mariadb
查看当前二进制日志的位置
从二进制日志中获取2点到18点数据
[root@swh ~]mysqlbinlog --start-position=245 /data/logbin/mysql-bin.000003 > /backup/inc.sql[root@swh ~]#mysqlbinlog /data/logbin/mysql-bin.000004 >> /backup/inc.sql[root@swh ~]#mysqlbinlog /data/logbin/mysql-bin.000005 >> /backup/inc.sql[root@swh ~]#mysqlbinlog /data/logbin/mysql-bin.000006 >> /backup/inc.sql
由于恢复数据库会产生大量的日志,可以临时关闭二进制日志
MariaDB [(none)]> set sql_log_bin=off;MariaDB [(none)]> source /backup/fullbak2019-07-11.sql #导入完全备份MariaDB [(none)]> source /backup/inc.sql #导入增量备份MariaDB [(none)]> set sql_log_bin=on;恢复后检查数据库,恢复访问MariaDB [hellodb]> select * from students;
vi /etc/my.cnf #去掉skip-networking
场景二
凌晨2点做过一次完全备份,白天使用过程中,某同事误删除数据库,当时并未发现,直到下班的时候出故障了
1、数据库完全备份
mysqldump -A -F --single-transaction --master-data=2 > /backup/fullbak`date +%F`.sql
less /backup/fullbak2019-07-11.sql #--master-data选项在备份时自动记录bin-log的位置
2、表被删除,但是没有发现,继续使用,在18点发现问题
3、还原
故障恢复中可以让用户暂停访问数据库
vi /etc/my.cnf #添加一行

systemctl restart mariadb
查看当前日志的位置
根据备份文件中记录的日志位置,从二进制日志获取增量
[root@swh ~]#mysqlbinlog --start-position=245 /data/logbin/mysql-bin.000013 > /backup/inc.sql[root@swh ~]#cp /backup/inc.sql /backup/inc.sql.bak #修改下备份下[root@swh ~]#vi /backup/inc.sql #从二进制日志中找出删表语句并删除,剩下的日志就是使用的日志
[root@swh ~]#rm -rf /var/lib/mysql/* #可以选择删除所有数据库恢复,或者直接恢复增量备份[root@swh ~]#systemctl restart mariadbMariaDB [(none)]> set sql_log_bin=off;MariaDB [(none)]> source /backup/fullbak2019-07-11.sqlMariaDB [(none)]> source /backup/inc.sqlMariaDB [(none)]> set sql_log_bin=on;
检查数据
vi /etc/my.cnf #去掉skip-networking
虽然可以恢复但是花费的时间成本或许是相当大的,生产环境还需慎重
备份
数据
日志
数据库
二进制
位置
增量
故障
文件
用户
进制
从二
场景
一行
文件夹
时候
点到
硬盘
检查
幸运
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
白城app与软件开发多少钱
单词统计的数据库表及视图的建立
网络安全宣传周校园演讲稿
工商局软件开发需求规范
ug12出现服务器关机
二三层网络技术
能率热水器三管零冷水水量服务器
质量好的浪潮存储服务器零售商
网络技术竞赛活动后的效果评价
centos查看服务器总内存
保证计算机网络安全意义
景德镇云服务器一般多少钱
部队如何搞好网络安全
多个网页打开同一个数据库
数据库模式分解的两个重要目标
软件开发毕业设计指导记录
传奇4国际服选服务器
南通大数据服务器代理厂家
高中教务系统软件开发
数据库概论重点
2020网络安全资讯
网络安全考研推荐院校分数线
空间数据库期末东北林业大学
甲骨文oracle存储云服务器
中学生网络安全教育论文
热血传奇数据库技能位置
服务器连接电视机无信号
根据服务器的作用
量化交易5个机器人服务器
软件开发系统架构培训