一、备份常用操作基本命令

1、备份命令mysqldump格式

格式:mysqldump -h主机名  -P端口 -u用户名 -p密码 –database 数据库名 > 文件名.sql

2、备份MySQL数据库为带删除表的格式

备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。

mysqldump  --add-drop-table -u username -p password -database databasename > backupfile.sql

3、直接将MySQL数据库压缩备份

mysqldump -h hostname -u username -p password -database databasename | gzip > backupfile.sql.gz

4、备份MySQL数据库某个(些)表

mysqldump -h hostname -u username -p password databasename specific_table1 specific_table2 > backupfile.sql

5、同时备份多个MySQL数据库

mysqldump -h hostname -u username -p password –databases databasename1 databasename2 databasename3 > multibackupfile.sql

6、仅备份数据库结构

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

7、备份服务器上所有数据库

mysqldump –all-databases > allbackupfile.sql

8、还原MySQL数据库的命令

mysql -h hostname -u username -p password databasename

9、还原压缩的MySQL数据库

gunzip

10、将数据库转移到新服务器

mysqldump -u username -p password databasename | mysql –host=*.*.*.* -C databasename

11、--master-data 和--single-transaction

在mysqldump中使用--master-data=2,会记录binlog文件和position的信息 。--single-transaction会将隔离级别设置成repeatable-commited

12、导入数据库

常用source命令,用use进入到某个数据库,mysql>source d:\test.sql,后面的参数为脚本文件。

13、查看binlog日志

查看binlog日志可用用命令 mysqlbinlog  binlog日志名称|more

14、general_log

General_log记录数据库的任何操作,查看general_log 的状态和位置可以用命令show variables like "general_log%"  ,开启general_log可以用命令set global general_log=on

二、增量备份

小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份。增量备份的原理就是使用了mysql的binlog志。

1、首先做一次完整备份:

mysqldump -h hostname -u test2 -p 123  -P 3310 --single-transaction  --master-data=2  test>test.sql这时候就会得到一个全备文件test.sql

在sql文件中我们会看到:

-- CHANGE MASTER TO MASTER_LOG_FILE='bin-log.000002', MASTER_LOG_POS=107;是指备份后所有的更改将会保存到bin-log.000002二进制文件中。

2、在test库的t_student表中增加两条记录,然后执行flush logs命令。这时将会产生一个新的二进制日志文件bin-log.000003,bin-log.000002则保存了全备过后的所有更改,既增加记录的操作也保存在了bin-log.00002中。

3、再在test库中的a表中增加两条记录,然后误删除t_student表和a表。a中增加记录的操作和删除表a和t_student的操作都记录在bin-log.000003中。

三、恢复

1、首先导入全备数据

mysql -h hostname -u test2 -p 123  -P 3310

2、恢复bin-log.000002

mysqlbinlog bin-log.000002 |mysql -h hostname -utest2 -p123  -P3310

3、恢复部分 bin-log.000003

在general_log中找到误删除的时间点,然后更加对应的时间点到bin-log.000003中找到相应的position点,需要恢复到误删除的前面一个position点。

可以用如下参数来控制binlog的区间

--start-position 开始点 --stop-position 结束点

--start-date 开始时间  --stop-date  结束时间

找到恢复点后,既可以开始恢复。

mysqlbinlog mysql-bin.000003 --stop-position=208 |mysql -h hostname -u test2 -p 123  -P 3310

----执行sql文件的其他方式

进入 MySQL 控制台,使用 source 命令执行

Mysql>source 【sql脚本文件的路径全名】 或 Mysql>\. 【sql脚本文件的路径全名】,示例:

source C:\test.sql 或者 \. C:\test.sql

打开 MySQL Command Line Client,输入数据库密码进行登录,然后使用 source 命令或者 \.

---注意事项

**window下 ,请不要使用PowerShell进行导出,否则可能会造成文件格式有问题,无法导入,请使用CMD命令行执行命令

mysql备份后缀是什么_mysql备份还原相关推荐

  1. mysql备份表恢复数据库_mysql备份恢复数据库据/表

    备份单个数据库,只备份表,如要恢复,必须先创建一个数据库 [root@s]# mysqldump -u root -p dbname1 > dbname1.sql [root@s]# mysql ...

  2. mysql备份数据库某表格_MySQL备份:使用自动轮换表格备份,轻松恢复部分/完整数据库...

    MySQL备份:按表自动轮换备份,易于恢复部分/完整数据库 这是一个MySQL备份脚本,可以采用压缩格式的表格备份(每个数据库的每个表的单个备份文件). 它还提供了自动轮换旧的备份文件. 备份脚本分别 ...

  3. mysql恢复数据的步骤_MySQL备份恢复数据的一般步骤

    下面是备份一个数据库的例子: 1.备份前读锁定涉及的表 mysql>LOCK TABLES tbl1 READ,tbl1 READ,- 如果,你在mysqldump实用程序中使用--lock-t ...

  4. mysql备份表数据库表_mysql 备份数据库中的一张表

    方案一: 备份db1里的t7表[root@stu1 mysql]#  mysqldump -u root -p123 db1 t7 > t7.sql 恢复db1里的t7表[root@stu1 m ...

  5. mysql 备份 一张表_mysql 备份表的一个方法

    #--- start # 新建表 create table sp2_match_comment_tmp like sp2_match_comment; # 这种方式 外键索引,触发器不会在新表中有,要 ...

  6. mysql 5.6.17 备份还原_mysql 备份和恢复

    7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7.1备 ...

  7. mysql备份技术_MySQL备份与还原

    大学时候写的文章,再用一下 MySQL常见备份方案有以下三种: mysqldump + binlog lvm + binlog xtrabackup mysqldump 本例为方便演示,数据库里面数据 ...

  8. mysql大数据量的全量备份_mysql备份神器——Xtrabackup全量备份还原

    概述 Xtrabackup是一种物理备份工具,通过协议连接到mysql服务端,然后读取并复制innodb底 层的"数据块",完成所谓的"物理备份". 支持对in ...

  9. mysql 备份表和数据_Mysql数据库备份(一)------数据库备份和表备份

    一.Mysql中的数据备份: Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中.mysqldump命令的 工作原 ...

最新文章

  1. 机器学习入门(11)— 反向传播的加法节点、乘法节点、加法层代码实现、乘法层代码实现
  2. SpringBoot自定义异常源码分析
  3. OA项目12:系统管理之用户管理
  4. 过节的快乐,在于Free | 手把手带你学Django
  5. 【Java面试题】48 GC是什么? 为什么要有GC?
  6. 数组作为实参传给函数的形参指针
  7. s120面板控制调速_SINAMICS S120变频调速装置
  8. 百度地图api应用程序大赛作品
  9. mysql数据库导入导出
  10. 第七届山东省Acm程序设计竞赛赛后总结
  11. 去西藏旅游一次要花多少钱,还有8/9月份去那边适合嘛?
  12. win10+cuda10.0.130+cudnn7.5.1+tensorflow-gpu 1.13.1+anaconda3+keras+pycharm2018
  13. knx智能照明控制系统电路图_智能照明控制系统KNX
  14. 易语言 mysql操作_易语言数据库应用手册
  15. pixel 2 xl的root之旅
  16. 电气simulink常用模块_支持PLC编程的5大电气语言,你会几种?
  17. 有哪些建议给应届毕业生(转载知乎某大佬)
  18. 少儿编程微课程7:星际飞行单机版
  19. pandas将excel中多行多列单元格含有多个值拆分为一对一单行显示的方法(explode函数)
  20. jquery选择器连续选择_jQuery选择器简介

热门文章

  1. 如何快速打通镜像发布流程?
  2. Nacos心跳检测原理
  3. 小米5S plus和小米5S价格相同,该咋选?
  4. vue+express+socket.io 实现qq聊天群。。。。
  5. 一篇就够用了——深度学习Ubuntu16.04环境配置+Win10双系统
  6. 练习——关于猴子分桃的程序设计
  7. Git基础系列:merger,checout等
  8. mysqlSQL 优化
  9. 看完2022年将上线的手游新作,手里的《王者荣耀》都不香了
  10. linux翻译软件,Linux下的即时翻译软件星际翻译的安装