MySQL数据库备份与还原

数据库备份也叫SQL数据备份,备份的结果都是SQL指令。

在MySQL中专门提供了一个用于数据库备份的SQL客户端:mysqldump.exe(MySql document copy),sql备份是一种MySQL非常常见的备份与还原方式,SQL备份不只是备份数据,还备份对应的SQL指令(表结构),即便是数据库遭到了毁灭性的破坏(数据库被删除),那么利用SQL备份依然可以实现数据还原。

注意:

SQL备份因为需要备份结构,因此产生的备份文件特别大,因此不适合特大型的数据备份,也不适合数据变换频繁新数据库备份。

SQL备份用到的是专门的备份客户端,因此还没于数据库服务器进行连接。

数据库备份基本语法:

mysqldump/mysqldump.exe -hPuP 数据库名称 【表1,表2.......】  >  备份文件地址

可以理解为:使用备份客户端   对   指定的用户中的       数据库、数据库表进行备份    到 指定的备份文件地址上。

备份可以有三种形式:

1.整库备份(只需要提供数据库的名字)

mysqldump  -hlocalhost -p3306 -uroot -p123456  school >  C:\Users\hasee\Desktop\数据库备份测试1

理解:为将root用户中的数据库school备份到C盘桌面上并且以(数据库备份测试1)这个作为文件名。

2.单表备份

mysqldump  -hlocalhost -p3306 -uroot -p123456  school  my_date>  C:\Users\hasee\Desktop\数据库备份测试2.sql

3.多表备份

mysqldump  -hlocalhost -p3306 -uroot -p123456  school my_date my_int>  C:\Users\hasee\Desktop\数据库备份测试3.sql

查看SQL备份文件中的具体内容:在前面我们说过数据库备份实际上就是一些SQL指令。

数据还原

MySQL提供了多种方法来实现数据的还原:两种

MySQLdump 备份的数据中没有关于数据库本身的操作,都是针对表级别的操作,当进行数据还原,

必须指定数据库。

1.利用mysql.exe客户端,在没有登录之前,可以直接用该客户端进行数据还原。

mysql.exe -hpup 数据库  <  文件位置

还原数据

mysql -uroot -p123456 school <  C:\Users\hasee\Desktop\数据库备份测试1

可以理解为:将指定的备份文件 还原到 root用户的school数据库中。

2.在SQL指令,提供了一种导入SQL指令的方式。

Source SQL文件位置;// 必须先进入到对应的数据库。

在这里可能出现文件导入问题

原因:

sql文件路径有中文或者空格(参考资料中路径名有空格)反斜杠。

解决方法:

将中文名字修改为英文

source C:/Users/hasee/Desktop/lixiaochi.sql;

3.人为操作,打开备份文件,复制所有SQL指令,然后到MySQL.exe客户端中去粘贴执行。

直接复制粘贴,就可以了。

MySQL学习之备份的更多相关文章

  1. 我的MYSQL学习心得 备份和恢复(详细)

    备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个 ...

  2. 我的MYSQL学习心得(十四) 备份和恢复

    我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  3. mysql学习【第5篇】:事务索引备份视图

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第5篇]:事务索引备份视图 MySQL事务 事务就是将一组SQL语句放在同一批次 ...

  4. MySQL学习——备份和还原

    MySQL学习——备份和还原 摘要:本文主要学习了如何备份和还原数据库. 部分内容来自以下博客: https://www.cnblogs.com/chenmh/p/5300370.html 常用命令 ...

  5. [知了堂学习笔记]_Java代码实现MySQL数据库的备份与还原

    通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/tes ...

  6. 我的MYSQL学习心得(一) 简单语法

    我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  7. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  8. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  9. 我的MYSQL学习心得(四) 数据类型

    我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...

随机推荐

  1. flutter控件之CheckBox

    import 'package:flutter/material.dart'; class LearnCheckBox extends StatefulWidget{ @override State& ...

  2. angularjs -- 监听angularJs列表数据是否渲染完毕

    前端在做数据渲染的时候经常会遇到在数据渲染完毕后执行某些操作,这几天就一直遇到在列表和表格渲染完毕后,执行点击和选择操作.对于angularjs处理这类问题,最好的方式就是指令 directive. ...

  3. PHP匹配当前传入是何种类型

    本文出至:新太潮流网络博客 /** * [is_string_regular_type 正则自动验证传入数据] * @E-mial wuliqiang_aa@163.com * @TIME 2017- ...

  4. BackgroundWorker原理剖析

    BackgroundWorker类位于System.ComponentModel命名空间下,主要用来异步执行一个长时间的操作,然后,在完成事件中安全更新UI的控件属性.UI中的控件是不允许非创建该控件 ...

  5. WDS使用捕获映像制作企业自定义映像

    来源:http://www.07net01.com/linux/WDSshiyongbuhuoyingxiangzhizuoqiyezidingyiyingxiang_545749_137448761 ...

  6. C 转义字符说明

    %a(%A) 浮点数.十六进制数字和p-(P-)记数法(C99)%c 字符%d 有符号十进制整数%f 浮点数(包括float和doulbe)%e(%E) 浮点数指数输出[e-(E-)记数法]%g(%G ...

  7. Linux系统更改/关闭防火墙

    更改/关闭防火墙 查看当前防火墙状态 /etc/init.d/iptables status ==>service iptables status 打开防火墙 service iptables ...

  8. 作业一 制作PC配置 吴昊

  9. gradle结合spring-boot生成可运行jar包,并打印日志

    1.用gradle把springboot项目打包成jar 1.1 build.gradle 中添加 buildscript { repositories { mavenLocal() maven { ...

  10. 【ASP.NET】#001 获取服务器IP

    客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVariab ...