mysqldump 属于MySQL客户端工具

mysqldump备份工具对于MyISAM存储引擎实现备份是温备份,对innodb存储引擎是可以实现热备份。

使用mysqldump备份数据库可以实现完全备份 + 二进制日志文件,这样也算是完全备份 + 增量备份。

首先将这个数据库备份下来这就是完全备份,然后以后数据的变化再每天进行对二进制日志进行备份这就是增量备份。

mysqldump命令的使用:

用法mysqldump  + 选项  +要备份的数据库

常用选项:

db_name:备份指定数据库如果备份数据库中某张表,db_name [tb_name]  备份时候并不包含创建数据库命令,意味着以后想还原数据时候需要手动创建数据库。

比如我们备份一个叫做file的数据库:

假如Linux下面我们可以这样

mysqldump -u root -p file >/root/sql/file.sql

这里叫表示备份到/root/sql/目录下,命名为file.sql

windows下备份

mysqldump -u root -p file > D:\sqlback\file.sql

备份好之后我们就可以使用文本编辑器打开了

可以看到mysqldump的备份是将整个表中的数据备份为批量插入的insert语气。因此以后如果你删除了你所备份的数据库。想导入你备份的数据库是导入不了的,它里面没有创建数据库的命令。

例如我想尝试导入一个备份数据库:

在Linux下面直接切换到备份数据路径下执行mysql < file.sql

现在我们创建一个叫做china的数据库再将MySQL版中国省市区数据导入

mysql -u root -p china < MySQL版中国省市区数据表.sql

这样执行表示导入这个MySQL版中国省市区数据表.sql备份数据到我们的china库中

这种备份必须要在数据库在线的情况下才能备份,如果此时数据库非常繁忙时候时时刻刻都有写入操作的话,千万不能用这种方式进行备份,我们应该先进行锁表再备份。步骤如下:

首先使用mysql客户端连接上mysql以后,执行下面两句

lock tables;  #锁表,所有的表不能再写入数据。可以读数据

flush tables;   #将内存中的数据刷新保存到硬盘

或者执行flush tables with read lock;

备份完之后执行解锁表命令,务必记得

unlock tables;

--master-data=n

n的取值范围为0-2   0表示不记录二进制日志文件以及路径位置

1表示以change master to 的方式记录位置,可用于恢复启动后直接启动从服务器

2表示 以change master to的方式记录位置,但是默认为被注释掉

比如:

mysqldump -u root -p --master-data=2 file >D:\sqlback\file `date+ %F-%H-%M-%S`.sql

这里表示备份file库到指定路径下面以当前时间命名

如果报错:mysqldump: Error: Binlogging on server not active

表示没有开启二进制日志,需要在配置文件开启

通过这种方式备份以后。我们可以看到sql文件周会有一行

--change master to master_log_file='当前二进制日志文件名' master_log_pos=事件日志位置'

下次从二进制日志中备份数据时候就可以从这个二进制文件的这个位置往下备份就行了

--lock-tables表示自动锁定所有表,如果我们只是备份单个库而锁定所有表的话,这样是不合理的,我们可以使用这个选项。单独登陆mysql客户端锁定单张表,再进行备份

--flush_logs:备份之前自动执行日志刷新到磁盘

如果指定库中所有表的存储引擎均为innodb可以使用

--single-transaction启动热备份,启动热备份就无需我们手动锁表

备份多个库:

--all-databases;  备份所有库

--databases db_name1,db_name2,,,,, ;   备份多个库

这两个命令备份会创建数据库命令,因此还原时候就不需要再手动创建了

例如:

mysqldump -u root -p --single-transaction --all-databases --master-data = 2 --flush-logs >D:\sqlback\all.sql

这个表示我们将使用热备份将所有的库备份到D盘下面,命名为all.sql

--events  : 事件

--routines :存储过程,存储函数

--triggers:触发器

mysql 逻辑备份导入数据库_mysql逻辑备份(mysql dump的使用)相关推荐

  1. mysql 一次性导入数据库_Mysql 一次性备份导出/导入恢复所有数据库

    有木有遇到过这种情况?电脑或者服务器需要重装系统?可是你电脑上存着n多个网站的数据库,怎么办?把数据库文件夹拷贝出来,重装系统之后再拷回去?如果你使用了InnoDB引擎,恐怕那样做会出麻烦的,一个一个 ...

  2. mysql需要备份的数据_Mysql根据需要备份数据

    因为数据的重要性,所以要定时的备份数据,当灾难来临时有一手,确保数据不丢失.这就是DBA的职责,保证数据的安全和持续服务. 备份单个数据库多种参数使用 mysql数据库自带了一个很好的备份命令,就是M ...

  3. mysql执行sql文件创建数据库_mysql执行sql文件创建数据库

    如何执行一个mysql的sql脚本文件 sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为"sql脚本文件"),然后通过相关的命 ...

  4. 服务器系统不关机怎么备份,服务器数据库不关机备份

    服务器数据库不关机备份 内容精选 换一换 随着SAP系统业务数据量的持续增长,线下软件版本旧.性能差或友商云服务器规格小.架构不灵活等因素,导致SAP系统运行缓慢.维护成本高.越来越多的客户选择将SA ...

  5. asp.net mysql 创建变_[ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型...

    [ASP.net教程]EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型 0 2018-06-30 07:00:08 官方教程: ...

  6. MySQL自带的数据库界面化工具MySQL Workbench的安装

    活动地址:CSDN21天学习挑战赛   目录 MySQL自带的数据库界面化工具MySQL Workbench的安装 安装MySQL Workbench ​找到mysql安装包 在选择产品页面选择MyS ...

  7. mysql 逻辑备份 物理备份_数据库的逻辑备份和物理备份--非RMAN

    数据库的逻辑备份和物理备份--非RMAN,不用借助其他工具,只要归档日志和物理备份就可以实现的备份 数据库的备份和恢复 常规而且重要,恢复得到理想状态 逻辑备份 利用EXP备份,从数据库提取写入操作系 ...

  8. 阿里云 mysql自动备份数据库_MySQL定时备份数据库(全库备份)

    一.MySQL数据备份 1.1. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump ...

  9. mysql 备份0字节_mysql的备份恢复

    一.mysql的备份 1.mysqldump 逻辑备份,支持温备,热备,使用mysqldump完全备份,binlog增量备份 mysqldump -utest -ptest -h192.168.0.2 ...

最新文章

  1. MD5与Base64的思考
  2. yolo 标注转VOC格式(标注转换器)
  3. GPU(CUDA)学习日记(十三)------ CUDA内存简介
  4. 数字图像处理之点运算
  5. java面试题(转载其他人,方便日常看)
  6. PHP读取Excel数据
  7. html5做微信公众号文章代码,微信公众号文章怎么使用代码排版?
  8. 离线强化学习(Offline RL)系列2: (环境篇)D4RL数据集简介、安装及错误解决
  9. 桃李春风一杯酒,江湖夜雨十年灯。
  10. R语言笔记-分类变量列联表和独立性检验
  11. 完美移除ESXI 7.0默认120G虚拟闪存,并支持自由调整,释放被占用的磁盘空间
  12. 神经网络参数个数计算,神经网络的参数设置
  13. 产品经理应该如何学习
  14. 医学分子生物学试题答案
  15. 【系统分析与验证笔记】Transition System模型知识点
  16. CS61B sp2018笔记 | Efficient Programming
  17. 即刻打造数字化工厂2020
  18. 安装XAMPP V3.2.4 XAMPP安装,红叉解决方案,报错解决方案
  19. 安卓桌面壁纸_安卓视频桌面哪个好用 让手机桌面更炫酷-
  20. Memcached服务应用实践

热门文章

  1. CRC16算法之三:CRC16-CCITT-MODBUS算法的java实现
  2. 汇编_指令_FLAGS
  3. 13.强符号和弱符号
  4. C语言 二维数组做函数参数的几种情况
  5. AngularJs学习笔记--Modules
  6. 利用寄存器进入栈值交换
  7. Workflow WF Reference Links for 2009-02-13
  8. VC++中忽略所有默认库纯Win32 API编译及链接 - 计算机软件编程 - Wangye's Space
  9. B站这套教程火了,火速搬运!限时删除~
  10. Linux进程调度器-基础