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. 《深入浅出WPF》读书笔记

    依赖属性: 节省实例对内存的开销: 属性值可以通过Binding依赖到其他对象上. WPF中,依赖对象的概念被DependencyObject类实现,依赖属性被DependencyProperty类实 ...

  2. CentOS7系列--1.6CentOS7配置sudo

    CentOS7配置sudo 如果一些用户共享权限,配置sudo是为了分离用户的职责 1. 将root 的权限传递给所有用户 [root@centos7 ~]# visudo 添加下面的内容到最后一行, ...

  3. redis list 查询、下标查询、删除、裁剪、压入弹出、队列实现

    查询  lrange list 0 1 // 注意0和1之间是空格:这个命令和pop命令不一样,不会删除里面的值lrange list 0 -1 // 所有的 下标查询 lpush person zs ...

  4. leetCode题解之Reshape the Matrix

    1.题目描述 2.分析 使用了一个队列. 3.代码 vector<vector<int>> matrixReshape(vector<vector<int>& ...

  5. leetCode题解之删除单链表中指定的元素

    1.问题描述 Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> ...

  6. 树莓派raspberry Pi2 介绍

    Compared to the Raspberry Pi 1 it has: A 900MHz quad-core ARM Cortex-A7 CPU 1GB RAM Like the (Pi 1) ...

  7. SQL Server ->> 调用系统内建扩展存储过程"master.dbo.xp_delete_file"删除过期备份文件

    DECLARE @oldDate DATETIME SET @oldDate = GETDATE()-30 EXECUTE MASTER.dbo.xp_delete_file 0, N'D:\back ...

  8. 解决js跨域

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  9. cent7中kickstart

    一.基本环境 操作系统:CentOS7.4 内核版本:3.10.0-862.11.6.el7.x86_64 二.组件部署 yum安装tftp tftpd-server xinetd http dhcp ...

  10. [翻译] ZCSHoldProgress

    ZCSHoldProgress 以下是使用效果: https://github.com/zshannon/ZCSHoldProgress "Your users be pressin' lo ...