- 点击上方“中国统计网”订阅我吧!-MySQL备份

MySQL中的逻辑备份是将数据库中的数据备份为一个文本文件,备份的文件可以被查看和编辑。在MySQL中,使用mysaldump工具来完成备份。有以下3种来调用mysqldump:

1. 备份指定的数据库,或者此数据库中某些表

shell>mysqldump [option] db_name [tables]

2. 备份指定的一个或多个数据库

shell>mysqldump [option] --database DB1 [DB2 DB3...]

3. 备份所有数据库

shell>mysqldump [option] --all-database

如果没有指定数据库中的任何表,默认导出所有数据库中所有表。以下给出一些使用mysqldump工具进行备份的例子:

1. 备份所有数据库

[cqh@localhost ~]$ mysqldump -uroot -p --all-database > all.sql

2. 备份数据库test

[cqh@localhost ~]$ mysqldump -uroot -p test > test.sql

3. 备份数据库test下的表emp

[cqh@localhost ~]$ mysqldump -uroot -p test emp > emp.sql

4. 备份数据库test下的表emp和dept

[cqh@localhost ~]$ mysqldump -uroot -p test emp dept > emp_dept.sql

5. 备份数据库test下的所有表为逗号分割的文本,备份到/tmp:

[cqh@localhost ~]$ mysqldump -uroot -p -T /tmp test emp --fields-terminated-by ','

MySQL恢复

MySQL中的恢复可分为三种,分别是:完全恢复、基于时间点恢复和基于位置恢复。

1. 完全恢复

mysqldump的恢复也很简单,将备份作为输入执行即可,具体语法如下:

mysql -uroot -p dbname < bakfile

注意,将备份恢复后数据并不完整,还需要将备份后执行的日志进行重做,语法如下:

mysqlbinlog binlog-file | mysql -uroot -p

2. 基于时间点恢复

由于误操作,比如误删除了一些表,这时使用完全恢复是没有用的,因为日志里还存在误操作的语句,我们需要的是恢复到误操作之前的状态,然后跳过误操作语句,再恢复后面执行的语句,完成我们的恢复。这种恢复叫不完全恢复,在MySQL中,不完全恢复分别为基于时间点的恢复和基于位置的恢复。

以下是基于时间点恢复的操作步骤:

  • 如果上午10点发生了误操作,可以用以下语句用备份和BINLOG数据恢复到故障前:

shell>mysqlbinlog --stop-date="20150929 9:59:59" /var/log/mysql/bin.123456 | mysql -uroot -pmypwd
  • 跳过故障时的时间点,继续执行后面的BINLOG,完成恢复。

shell>mysqlbinlog --start-date="20150929 10:01:00" /var/log/mysql/bin.123456 | mysql -uroot -pmypwd \

3. 基于位置恢复

和基于时间点的恢复类似,但是更精确,因为同一个时间点可能有很多条SQL语句同时执行。恢复的操作步骤如下:

在shell下执行如下命令:

shell>mysqlbinlog --start-date="20150929 9:55:00" --stop-date="20150929 10:05:00" /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql

该命令将在/tmp目录创建小的文本文件,编辑此文件,找到出错语句前后的位置号,例如前后位置号分别是565512和565515

恢复了以前的备份文件后,应从命令行输入下面内容:

shell>mysqlbinlog--stop-position="551212"/var/log/mysql/bin.123456 | mysql -uroot -pmypwdshell>mysqlbinlog--start-position="551215"/var/log/mysql/bin.123456 | mysql -uroot -pmypwd

上面的第一行将恢复到停止位置为止的所有事务。下一行将恢复从给定的起始位置直到二进制日志结束的所有事务。因为mysqlbinlog的输出包括每个SQL语句记录之前的SET TIMESTAMP语句,因此恢复的数据和相关MySQL日志将反应事务执行的原时间。

End.

作者:雪山飞猪

来源:博客园

零基础入职数据分析就业班

课程的形式主要是“直播+录播”

报名专享:课程项目作业+1v1班主任监督学习+爱数据学院学员专属网站+班级答疑群

课程结束后能熟练掌握SQL、Python、Excel、PPT等工具

疫情期间在家学习不添乱

qldump 备份所有表_MySQL中的备份和恢复是怎样执行的?相关推荐

  1. mysql 快照能否恢复某个表_mysql全库备份恢复某个表

    早上小红过来问我说网站的一个功能没了,看了下数据库,少了个表.好吧,心里mmp,开始恢复数据 环境: 全库备份 恢复某一个表 1.1 查看备份数据 [aiye@aiye mysql_backup]$l ...

  2. java备份mysql的单个表_MySQL 使用java备份某张表的操作

    核心是mysqldump和Runtime 操作其实并不是很困难,创建一个进行备份操作的类,接收到备份调用后,标记该表正在备份,然后创建一个子线程进行备份操作.所需的配置信息是从配置文件读取的,也要注意 ...

  3. mysql数据库备份总结_mysql中mysqlhotcopy备份数据库总结

    mysqlhotcopy是mysql数据库中一个备份工具,相对于mysqldump是一个快速文件意义上的COPY,mysqlhotcopy是一个数据库端的SQL语句集合. mysqlhotcopy用法 ...

  4. oracle数据泵备份单表,使用数据泵备份/恢复某些表

    问题提出: 两个系统a和b之间做了同步接口,可能是之前的接口出现了问题,导致两边的数据不一致,需要清除系统b中的数据,使用同步接口从系统a将数据批量同步到系统b中. 解决办法: 分析:由于此同步涉及到 ...

  5. mysql 备份命令行_mysql命令行备份方法

    一.mysql备份 1.备份命令 格式:mysqldump -h主机IP -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql # 本地备份可以不添加端口和主机IP ...

  6. oracle备份数据表叫什么,oracle备份表和数据

    oracle 备份数据 如果备份表存在 原表t_base_employee,备份表t_base_employee20180718 insert into t_base_employee0718 sel ...

  7. mysql集群会备份数据吗_MySQL 集群备份2-功能分析

    角色划分 控制节点:调度备份任务的节点 数据库节点:需要执行备份的数据库服务节点 存储节点:统一存放备份文件的节点(参考),可以是文件系统或者存储 备份验证节点:恢复备份文件,验证备份的有效性 备份I ...

  8. mysql双机备份最简单_MySQL的本地备份和双机相互备份脚本

    先修改脚本进行必要的配置,然后以root用户执行. 1. 第一执行远程备份时先用 first参数. 2. 本地备份用local参数 3. 远程备份不用参数注意1 注意:需要在另一主机上的Mysql用户 ...

  9. mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划

    explain命令是查看查询优化器如何决定执行查询的主要方法. 这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的. 1.什么是MyS ...

最新文章

  1. 昨天下午面了个哥们,也就问了4个问题,但好像他被我虐了
  2. 机器学习:信息熵,基尼系数,条件熵,条件基尼系数,信息增益,信息增益比,基尼增益,决策树代码实现(一)
  3. vs.net2003在代理下的一个奇怪小问题
  4. 使用Context和Hooks来管理状态
  5. Gradient-Based Learning Applied to Document Recognition
  6. centos5.5和6.5中vncservervncviewer最基本配置
  7. 基于C++和EasyX 实现的《双人贪吃蛇》小游戏,你不找个小伙伴陪你一起玩吗?
  8. CMSIS-RTOS相关的一些内容
  9. 上交计算机就业报告,上海交通大学计算机研究生去向及就业情况分析
  10. 迷你西游最新服务器是哪个,迷你西游公测新开服务器“万佛朝宗”公告
  11. 累计亏31亿的尚德机构:研发费用递减,多次被罚,市值缩水近九成
  12. java Long详解
  13. 研究生应该常去的网站
  14. 高性能数据库引擎 CoolHash 产品宣言 Fourinone4.0版新特性(转)
  15. jmeter-简单接口测试
  16. Linux 使用 speedtest 测速
  17. 2021年除夕的html网页代码,2021年美观的春节倒计时代码
  18. WEB数据库管理平台kb-dms:注册与登录【三】
  19. 用python爬荣耀皮肤图片(爬虫最基础题,python爬虫教程,超详细+完整代码)
  20. 海外众筹如何通过邮件营销?

热门文章

  1. java8的路径_什么是路径?
  2. type const mysql_Mysql Explain之type详解
  3. 终端乱码的终极解决方案
  4. Python的构造函数和析构函数,对象和类的不一样
  5. 前端读取文件图片信息流;js读取图片不同信息流;js读取图片;前端就js读取二进制数据;前端js读取文件流使用FileReader对象的readAsDataURL方法来读取图像文件;
  6. ISCSI 1-由零开始
  7. 保姆级!!前端必会Taro入门级教学!!
  8. 前端学习(3237):react生命周期4
  9. 前端学习(3171):react-hello-react之reduce
  10. [html] link标签的属性media有哪些值?都有什么作用?