MySQL数据库备份与恢复

2023-05-16

在项目的开发过程中数据库的备份是非常重要的,为了防止数据库受到破坏,造成不可估量的损失,所以一定要进行数据库的备份,并且需要掌握数据库恢复方法,在发生数据库损坏的时候,能快速进行数据库恢复。

本文主要介绍MySQL数据表备份与恢复主要的三种方法,包括直接复制数据库、使用命令行、使用MySQL Workbench工具。

目录

一、直接复制数据库文件进行备份和恢复

1、创建备份目录

2、查看目录

3、停止服务

4、复制数据库文件

二、使用命令行工具进行备份和恢复

1、备份数据库

2、恢复数据库

三、使用MySQL Workbench工具进行数据库备份与恢复

1、备份数据库

​2、恢复数据库


一、直接复制数据库文件进行备份和恢复

MySQL中的每一个数据库和数据表分别对应文件系统中的目录和其下的文件。在Linux下数据库文件的存放目录一般为/var/lib/mysql。在Windows下这个目录视MySQL的安装路径而定。Windows操作系统下直接找到安装路径下的数据库文件复制备份即可,本文以Linux操作系统为例进行数据库备份及恢复。

1、创建备份目录

使用创建目录命令创建用于存放备份数据库文件目录,“mkdir -p /var/lib/mysql/bk”,如下图所示:

2、查看目录

通过“cd /var/lib/mysql”以及“ls -al”命令查看Linux下数据库文件存放目录,如下图所示: 

3、停止服务

备份文件前,需要将MySQL服务停止,使用“net stop mysql”命令进行数据库停止操作。

4、复制数据库文件

使用文件复制命令复制数据库文件。使用“cp –r /var/lib/mysql/test  /var/lib/mysql/bk”命令复制文件。通过该命令将test目录下所有文件复制到第一步准备好的备份文件夹bk下。

 恢复数据数据库时,需要先创建好一个数据库(不一定同名),然后将备份出来的文件(注意,不是目录)复制到对应的MySQL数据库目录中。

使用这一方法备份和恢复数据库时,需要新旧的MySQL版本一致,否则可能会出现错误。

二、使用命令行工具进行备份和恢复

1、备份数据库

(1)导出整个数据库可以使用如下命令:

mysqldump –u用户名 p密码 -d 数据库名 表名 > 脚本名

导出整个数据库结构和数据

mysqldump -h localhost -uroot -p123456 database > dump.sql

导出单个数据表结构和数据

mysqldump -h localhost -uroot -p123456 database table > dump.sql

导出整个数据库结构(不包含数据)

mysqldump -h localhost -uroot -p123456 -d database > dump.sql

导出单个数据表结构(不包含数据)

mysqldump -h localhost -uroot -p123456 -d database table > dump.sql

导出全部数据库数据:

mysqldump -uroot -p --all-databases > alldb.sql

本例中仍然以test数据库为例进行操作“mysqldump -uroot -p test > /var/lib/mysql/bk/test.sql”,并可以通过ls查看到bk目录下已经备份出来的test.sql文件,如下图所示:

2、恢复数据库

mysql -u root –password=root密码 数据库名 < 备份文件.sql

三、使用MySQL Workbench工具进行数据库备份与恢复

使用MySQL Workbench工具进行数据库备份与恢复非常直观易用,以下为备份及恢复步骤。

1、备份数据库

步骤1:选择Server菜单下Data Export菜单项,打开数据导出页面,如下图所示:

 步骤2:选择需要备份的数据库,指定备份文件存放的位置,如下图所示:

步骤3:点击Export Progress页面,选择Start Export按钮执行备份操作,如下图所示:

 2、恢复数据库

 选择Server菜单下Data Export菜单项,打开数据导入页面,如下图所示:

 在数据导入页面下,执行以下操作,完成数据恢复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL数据库备份与恢复 的相关文章

  • 映射 mysql 中同一个表的多个值

    您好 我必须使用另一个表中的值 id 获取文本值 表 1 包含值 ID 表 2 包含名称和值 ID 表 1 SEVERITY OCCURENCE DETECTABILITY 2 3 4 表 2 id name value 1 Very Hi
  • 在 MySQL 中存储表情符号的编码问题:如何使用 Prisma ORM 在 NodeJS 中定义字符排序规则?

    亲爱的 Nodejs 专家和数据库专家 我们在 MySQL 数据库中存储表情符号和其他特殊字符时遇到问题 我们使用 Prisma 得到一个错误 这是我们使用的 ORM 参数无法从排序规则 utf8 general ci 转换为 utf8mb
  • MySQL:计算日期/时间之间的差异 - 仅在周一至周五“工作周”期间

    我需要计算开始日期 时间和结束日期 时间之间的差异 但是 我只想在 5 天的工作周内执行此操作 不包括周六 周日 做这个的最好方式是什么 我的想法是 从日期开始 我必须获取星期几 如果是工作日 那么我将添加到累加器中 如果不是 那么我不会添
  • 海量记录的bulk_create最佳实践

    I use bulk create将 1 mio 记录插入到新表中 需要 80 秒 Django 只使用一个 CPU 核心 大约 25 CPU 但没有一个核心达到 100 我相信有改进的潜力 这是代码 class Stock models
  • 在 C# 中,当有人插入、删除或修改记录时,如何从 MySQL 获取事件?

    我正在 WPF Net 中开发一个程序 我需要知道何时有人对数据库的任何表进行更改 这个想法是在数据库发生更改时从数据库接收一个事件 我读了很多文章 但找不到解决我的问题的方法 亲切的问候 最好的解决方案是使用消息队列 在您的应用程序向数据
  • 如何在mysql中选择具有相同值集的列?

    我的桌子是 patients pid name city disease did dname has disease did pid 我想列出具有相同疾病组的患者 pid 和 did 分别是患者和疾病表中的主键 并且是 has diseas
  • 连接 Netbeans 和 MySQL 但出现大整数错误

    所以我正在尝试向我的 Netbeans 数据库 即 MySQL 添加新连接 但我遇到了大整数转换错误 有人可以帮助我吗 详细地 我右键单击现有的MySQL 服务器位于 localhost 3306 root 已断开连接 gt gt 选择co
  • MySQL 通过 current_timestamp 选择上个月的数据

    直到今天 当我使用 MySQL 并需要对日期 时间执行操作时 我使用带有 unix 时间戳的 int 列 没有出现任何问题 但今天在阅读了一些指南后 我决定默认使用 current timestamp 测试时间戳列 所以我感兴趣如何按列选择
  • mysql转储到derby

    我正在使用 derby 在 eclipse 中进行开发 是否可以从 MySQL 转储表并以某种方式将其用于 derby 我知道 ddl 和 dml 对于两个 dbms 来说是不同的 但我正在寻找一种除了转储 导出之外的合适方法 我可以找到两
  • 使用Perl/DBI/MySQL/InnoDB查找外键信息

    我想以编程方式查找 MySQL 数据库中特定 InnoDB 表的外键 我正在使用 Perl 我偶然发现 dbh gt foreign key info 我刚刚尝试使用它 但似乎有点错误 它不会返回 ON DELETE 和 ON UPDATE
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • 如何从批量数据中的mysql列中删除所有非数字字符

    我想从列中删除所有非数字字符 我的数据库中有大量数据 目前我正在使用以下链接中描述的方法 http venerableagents wordpress com 2011 01 29 mysql numeric functions http
  • 如何在 SEQUELIZE (nodeJS) 中创建触发器?

    我正在尝试使用sequelize 创建一个触发器 主要思想是创建一个实例CONFIG创建后USER USER MODEL module exports function sequelize DataTypes var User sequel
  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • Mysql插入表后不显示右单引号(’)

    我有一个名为 测试 的表 我插入了一行 其中包含unicode字符右单引号 0x2019在名称字段中 SQL insert into Testing values Sno Name Address insert into Testing v
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • mysql排序和排名语句

    我需要一些 mysql 语句的帮助 我的表 1 有 7 列 表 2 有 8 列 额外的列名为排名 我的语句应该是这样的 从表 1 中选择全部 然后按 用户数 排序 将其插入表 2 中并排名开始 1 2 3 等 table 1 usernam

随机推荐

  • 草图大师su通过照片建模建筑 零插件sketchup

    打开sketchup xff0c 相机 匹配新照片 照片的要求 xff1a 匹配照片 最适合主要由直角组成的结构 您肯定至少需要一个直角才能使用匹配照片 使用从角落以大约 45 度角拍摄的照片 上图来自谷歌街景图是以 45 度角拍摄的图像示
  • 零插件sketchup草图大师su逆向建模“世纪钟”雕塑

    找到一张适合透视的图片 检索相关参数 根据地图测量数据 xff0c 画出花坛和台阶 点击相机 匹配新照片 选择正视图照片 调整手柄使其贴合 xff08 未完待续 xff09
  • 英伟达Jatson nano无线网卡 摄像头安装及使用

    连接ufl连接器 拆卸散热器所在版两侧螺丝 按下模块儿两侧夹子 拧下中央螺丝 警告 xff01 xff01 xff01 xff01 x1f53a 这颗螺丝 xff0c 打了螺丝胶 xff0c 千万不要用电动螺丝刀 要找准合适的工具 轻轻取下
  • 3D打印机加装灯带。以创想三维ender系列某一型号为例。

    警告 3D打印机加装灯带必须确保该款的打印机支持加装 而且必须在客服官方售后允许范围内进行改装 必须熟练掌握电工知识 否则引起短路损坏无法保修 该文只是一个加装成功的案例 xff0c 不得以此作为任何参考 首先根据电压直流或交流选择完全匹配
  • USB转串口芯片CH340系列及CH340模块使用方法(CH340驱动,接线,串口下载详细介绍)

    USB 转串口芯片 CH340 我们为什么要用到CH340驱动呢 xff1f CH340驱动就是USB转串口的驱动的一种 xff0c 因为我们现在的电脑上 xff0c 已经不存在串口 xff0c 所以我们一般使用USB转串口芯片 xff0c
  • prusa2.6.0 树形支撑(有机支撑)Organic体验测试 3d打印及下载失败解决

    目前官网没有这个2 6版本 xff0c 只有2 5 2下载 xff0c 是没有树形支撑的 如果试用2 6版本 xff0c 需要从GitHub下载 地址为 xff1a https github com prusa3d PrusaSlicer
  • 无人机在户外无GPS环境下用什么导航方法问答

    无人机在户外无GPS环境下用什么导航方法 xff1f 无人机在户外无GPS环境下可以使用多种导航方法 xff0c 包括 xff1a 1 视觉导航 xff1a 利用摄像头检测地面特征实现导航 2 磁场感应导航 xff1a 利用永磁体和地球磁场
  • 网络中的图片传输

    前言 一张图片经过网络从主机 A 传输到主机 B xff0c 主机 B 在收到这张图片后将其保存在本地 xff0c 对应步骤为 xff1a 读 xff1a 主机 A 读取待传输的图片数据传 xff1a 主机 A 通过 Socket 将图片传
  • 一道有趣的C语言题:int *p=(int *)((int)a+1);

    偶然间看到这样一个c语言题目 xff1a 小端模式 int main void int a 5 61 1 2 3 4 5 int p 61 int int a 43 1 xff1b printf 34 X r n 34 p return 0
  • 一、FREERTOS学习之 freertos移植流程步骤

    目录 一 FREERTOS资源包下载 二 移植 1 资源包整理 三 工程添加 1 添加 2 编译路径添加 3 修改FreeRTOSConfig h 4 修改stm32f10x it c 5 注意 一 FREERTOS资源包下载 官网 xff
  • 三、FreeRTOS学习之 freertos的任务创建

    目录 一 任务创建 xff1a 1 静态创建 xff1a 2 动态创建 xff1a 3 任务句柄 4 例 xff1a 一 任务创建 xff1a 在freertos中 xff0c 提供了两种创建任务的方式 xff1a 静态创建 xff0c 动
  • 七、FreeRTOS学习之 软件定时器

    一 基本概念 在freertos中 xff0c 软件定时器的功能跟单片机中使用的定时器差不多 xff0c 通过设置一段时间 xff0c 等到时间到达 xff0c 定时器进入中断 xff0c 执行相应的功能函数 xff0c 被调用的函数叫做定
  • 软件iic 的编写与调试

    一 了解 1 硬件iic 其对应的芯片上有iic外设 xff0c iic的引脚是固定的 xff0c 硬件iic是直接配置内部的寄存器 xff0c 只要配置好寄存器 xff0c 外设就会产生标准的协议时序 xff0c 只需要直接调用控制函数
  • 运算符重载(),[]

    include lt iostream gt include lt cstring gt using namespace std class yunsuan private int a b c int len num char name 3
  • vector

    include lt iostream gt include lt vector gt include lt algorithm gt using namespace std 容器 xff1a vector 相当于一个数组 迭代器 xff1
  • STM32外设之TIM定时器使用及输出比较模式PWM生成,PWM频率和占空比计算,文末有固件库TIM驱动文件的函数讲解

    TIM 定时器是stm32单片机中的一个外设 xff0c STM32有8个定时器 xff0c 分别是2个高级定时器TIM1TIM8 xff0c 4个通用定时器TIM2 5 2个基本定时器TIM67 根据不同型号的单片机 xff0c 挂载的定
  • Java多线程之~~~~使用wait和notify实现生产者消费者模型

    在多线程开发中 xff0c 最经典的一个模型就是生产者消费者模型 xff0c 他们有一个缓冲区 xff0c 缓冲区有最大限制 xff0c 当缓冲区满 的时候 xff0c 生产者是不能将产品放入到缓冲区里面的 xff0c 当然 xff0c 当
  • 拷贝、移动构造

    include lt iostream gt using namespace std class temp private char a public temp char c char b a 61 new char 2 a 0 61 c
  • Dockerfile

    Dockerfile Dockerfile简介1 Dockerfile基本介绍2 Dockerfile构建过程3 Dockerfile指令用法 Dockerfile构建镜像1 Dockerfile使用CentOS构建apache镜像1 1相
  • MySQL数据库备份与恢复

    在项目的开发过程中数据库的备份是非常重要的 xff0c 为了防止数据库受到破坏 xff0c 造成不可估量的损失 xff0c 所以一定要进行数据库的备份 xff0c 并且需要掌握数据库恢复方法 xff0c 在发生数据库损坏的时候 xff0c