当前位置: 首页 > news >正文

MySQL数据备份和恢复

MySQL数据备份和恢复

数据备份

mysqldump是MySQL数据库备份工具,可以备份MySQL数据库中的数据和结构,生成.sql文件,方便数据的迁移和恢复。

使用mysqldump工具前一定要配置环境变量

  1. 打开开始菜单,搜索“环境变量”。
  2. 点击“编辑系统环境变量”。
  3. 点击“环境变量”按钮。
  4. 在“系统变量”下,点击“新建”。
  5. 输入“MYSQL_HOME”作为变量名,将MySQL安装目录的路径作为变量值(例如:C:\Program Files\MySQL\MySQL Server 5.7)。
  6. 点击“确定”保存变量。
  7. 在“系统变量”下,找到“Path”变量并点击“编辑”。
  8. 在“变量值”字段的末尾添加“%MYSQL_HOME%\bin”(不包括引号)。
  9. 点击“确定”保存变量。
  10. 重启计算机以使更改生效。

mysqldump的常用参数

  • –databases:备份多个数据库,后面跟着数据库名称,中间用空格分隔。
  • –tables:备份多个表,后面跟着表名称,中间用空格分隔。
  • –where:备份符合条件的数据,后面跟着条件语句。
  • –lock-tables:备份时锁定表,防止备份过程中数据被修改。
  • –single-transaction:在事务中备份,保证备份的数据一致性。
  • –add-drop-database:备份时添加DROP DATABASE语句。
  • –add-drop-table:备份时添加DROP TABLE语句。
  • –add-locks:备份时添加锁定语句。
  • –extended-insert:使用多行语法插入数据,提高备份效率。
  • –quick:使用单行语法插入数据,提高备份效率。
  • –compress:备份时压缩数据。
  • –result-file:指定备份文件名及路径。
  • –user:指定连接MySQL的用户名。
  • –password:指定连接MySQL的密码。
  • –no-data : 备份表结构但不包括表

导出单个数据库(包括数据库中的数据)

语法:

mysqldump --user=用户名 -p 数据库名称 > 目标目录及文件名称

例如:

mysqldump --user=root -p demo > E:\数据库备份\demo.sql

导出单个数据库(不包含数据库中的数据)

语法:

mysqldump --user=用户名 -p --no-data 数据库 > 目标目录及文件名称

例如:

mysqldump --user=root -p --no-data demo > E:\数据库备份\demo.sql

导出多个数据库

语法:

注意:数据库之间用空格分开

mysqldump --user=用户名 -p --databases 数据库1 数据库2 ... > 目标目录及文件名称

例如:

mysqldump --user=root -p --databases demo1 demo2 > E:\数据库备份\demo.sql

导出数据库中的某张表(包含数据)

语法:

mysqldump --user=用户名 -p 数据库名称 表名称 > 目标目录及文件名称

例如:

mysqldump --user=root -p demo t_student > E://demo_t_student.sql

导出数据库中的某张数据表(不包含数据)

语法:

mysqldump --user=用户名 -p --no-data 数据库名称 表名称 > 目标目录及文件名称

例如:

mysqldump --user=root -p --no-data demo t_student > E://demo_t_student.sql

导出多张表

语法:

mysqldump --user=用户名 -p 数据库名称 --tables 数据表1 数据表2 > 目标目录及文件名称

例如:

mysqldump --user=root -p demo --tables table1 table2 > E:\数据库备份\demo_tables.sql

备份时锁定表

语法:

mysqldump --user=用户名 -p --lock-tables 数据表名称 > 目标目录及文件名称

例如:

mysqldump --user=root -p --lock-tables demo >  E:\数据库备份\demo.sql

在事务中备份

语法:

mysqldump --user=root -p --single-transaction 数据库名称 > 目标目录及文件名称

例如:

mysqldump --user=root -p --single-transaction demo > E:\数据库备份\demo.sql

添加drop database语句:

语法:

mysqldump --user=root -p --add-drop-database 数据库名称 > 目标目录及文件名称

添加drop table语句:

语法:

mysqldump --user=root -p --add-drop-table 数据库名称 > 目标目录及文件名称

添加时锁定语句

语法:

mysqldump --user=root -p --add-lock 数据库名称 > 目标目录及文件名称

使用多行语法插入数据

语法:

mysqldump --user=root -p --extended-insert 数据库名称 > 目标目录及文件名称

使用单行语法插入数据

语法:

mysqldump --user=root -p --quick 数据库名称 > 目标目录及文件名称

备份时压缩数据

语法:

mysqldump --user=root -p --compress 数据库名称 > 目标目录及文件名称

指定备份文件及地址

mysqldump --user=username -p 数据库名称 --result-file= 目标目录及文件名称

数据恢复

  • 创建一个新的数据库,用于恢复备份数据、

    create database demo1;
    
  • 使用/登录到新的数据库

    use demo;
    mysql --user=root -p demo1
    
  • 使用source命令导入备份的文件

    source E:\数据库备份\demo.sql
    
  • 恢复后可以使用show查看数据表,select验证数据

    show tables;
    select * from table1;
    

总结:

  • 数据备份
    • 可以保护数据免受意外删除,硬件故障,恶意软件等问题的影响
    • 要定期对数据进行备份,而且要在系统负载较小的时间段进行
    • 确保开启二进制日志,这样可以基于时间点或位置对数据进行恢复
    • 对特别重要的数据保留多份备份
    • 确定使用完整备份还是增量备份
      • 增量备份是指在一次完整备份或者上一次增量备份后,以后只需备份与前一个相比增加或者被修改的文件,
  • 数据恢复
    • 可以帮助恢复丢失的数据,保证业务的连续性和稳定性
    • 定期做备份恢复测试,保证备份是有效的,并且是可以恢复的

相关文章:

MySQL数据备份和恢复

MySQL数据备份和恢复 数据备份 mysqldump是MySQL数据库备份工具,可以备份MySQL数据库中的数据和结构,生成.sql文件,方便数据的迁移和恢复。 使用mysqldump工具前一定要配置环境变量 打开开始菜单,搜索“环境变量”。点击“编辑…...

数据结构与算法之链表: Leetcode 237. 删除链表中的节点 (Typescript版)

删除链表中的节点 https://leetcode.cn/problems/delete-node-in-a-linked-list/ 描述 有一个单链表的 head,我们想删除它其中的一个节点 node。 给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。 链表的所有值都是 唯一的,并且保证给…...

继承的相关介绍---C++

一、概念及定义 概念: 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结…...

Java多线程深入探讨

1. 线程与进程2. 创建和管理线程2.1. 继承Thread类2.2. 实现Runnable接口2.3 利用Callable、FutureTask接口实现。2.4 Thread的常用方法 3. 线程同步3.1. synchronized关键字3.1.1同步代码块:3.1.2 同步方法: 3.2. Lock接口 4. 线程间通信5. 线程池5.1 使…...

SpringCloud全面学习笔记之进阶篇

目录 前言微服务保护初识Sentinel雪崩问题及解决方案雪崩问题超时处理仓壁模式熔断降级流量控制总结 服务保护技术对比Sentinel介绍和安装微服务整合Sentinel 流量控制快速入门流控模式关联模式链路模式小结 流控效果warm up排队等待 热点参数限流全局参数限流热点参数限流案例…...

英语中主语从句的概念及其用法,例句(不断更新)

主语从句的原理 主语从句是一种充当整个句子主语的从句,主语从句构成的句子,是要以引导词开头的。它可以用名词性从属连词、关系代词或关系副词引导。主语从句通常位于谓语动词之前,用于表示动作、状态或事件的主体。 以下是一些常用的引导主…...

数组的子数组(亚阵列)、子序列,字符串的子串、子序列

数组 子数组 一个或连续多个数组中的元素组成一个子数组 子数组最少包含一个元素 数组 {1, 2, 3} 的子数组是 {1}, {1, 2}, {1, 2, 3}, {2}, {2, 3}, 和 {3}. 子序列 子序列就是在原来序列中找出一部分组成的序列 子序列不一定连续 相对位置还是不变 但是&#xff…...

MySQL 知识:迁移数据目录到其他路径

一、系统环境 操作系统:Centos 7 已安装环境:MySQL 8.0.26 二、开始操作 2.1 关闭SELinux 为了提高 Linux 系统的安全性,在 Linux 上通常会使用 SELinux 或 AppArmor 实现强制访问控制(Mandatory Access Control MAC&#xff…...

Go | 一分钟掌握Go | 8 - 并发

作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我! 前言 当今编程界,一个好的编译型语言如果不支持并发&#xff0c…...

【滤波】多元高斯

本文主要翻译自rlabbe/Kalman-and-Bayesian-Filters-in-Python的第5章节05-Multivariate-Gaussians(多元高斯)。 %matplotlib inline#format the book import book_format book_format.set_style()简介 上一篇文章中的技术非常强大,但它们只…...

单源最短路问题

全部代码 全部代码在github acwing 上 正在更新 https://github.com/stolendance/acwing 图论 欢迎大家star与fork 单源最短路问题 先用spfa算法 不行再换其他的 spfa-超级万能 说不定比dijsktra还快 dis[] 代表第k到某一点的最短距离 queue 代表刚被更新的点 它有可能更…...

Security方法注解权限控制过程及自定义权限表达式

文章目录 使用内置的权限表达式PreAuthorizePermissionEvaluator 自定义权限表达式SysMethodSecurityExpressionHandler源码流程 SysMethodSecurityExpressionRoot 使用内置的权限表达式 PreAuthorize 这个用来判断超级管理员的话,还得在表达式上加上或 Permissi…...

vue 省市县三级联动

1、 <template><div>所在省<el-select popper-class"eloption" :popper-append-to-body"true"change"getShiList(obj.province)" v-model"obj.province" placeholder"请选择所在省" clearableclear"re…...

ChatGPT实现编程语言转换

编程语言转换 对于程序员来说&#xff0c;往往有一类工作&#xff0c;是需要将一部分业务逻辑实现从服务端转移到客户端&#xff0c;或者从客户端转移到服务端。这类工作&#xff0c;通常需要将一种编程语言的代码转换成另一种编程语言的代码&#xff0c;这就需要承担这项工作…...

浅拷贝和深拷贝

浅拷贝&#xff1a; 定义&#xff1a;浅拷贝&#xff08;Shallow Copy&#xff09;是一种简单的对象复制方式&#xff0c;将一个对象的数据成员直接复制给另一个对象&#xff08;通常是通过默认的复制构造函数或赋值运算符实现&#xff09;&#xff0c;这些数据成员可以是基本…...

进程地址空间与页表方面知识点(缺页中断及写时拷贝部分原理)

谢谢阅读&#xff0c;如有错误请大佬留言&#xff01;&#xff01; 目录 谢谢阅读&#xff0c;如有错误请大佬留言&#xff01;&#xff01; 抛出总结 开始介绍 发现问题 进程地址空间&#xff08;虚拟地址&#xff09; 页表 物理内存与进程地址空间映射 缺页中断基本…...

Photoshop如何使用滤镜之实例演示?

文章目录 0.引言1.将普通照片制作成油画效果2.使用液化滤镜修出完美身材3.用镜头光晕滤镜制作唯美的逆光人像4.用Camera Raw滤镜对偏色风景照进行调色 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对PS进行了学习&#xff0c;本文通过《Photoshop2021入门教程》及其…...

Flutter 组件抽取:日期(DatePicker)、时间(TimePicker)弹窗选择器【仿照】

简介 仿照《Flutter 仿ios自定义一个DatePicker》实行的日期弹窗选择器&#xff08;DatePicker&#xff09;、时间弹窗选择器&#xff08;TimePicker&#xff09; 效果 范例 class _TestPageState extends State<TestPage> {overridevoid initState() {super.initStat…...

基于opencv的YOLOV3对图片的目标检测

目录 1. 准备工作 2. utils 函数 2.1 plot_show 函数 2.2 get_prediction 函数 2.3 draw_bounding_box 绘制边界框函数...

Mermaid流程图

所有流程图都由节点&#xff0c;几何形状和边缘&#xff0c;箭头或线条组成。mermaid代码定义了这些节点和边缘的制作和交互方式。 它还可以容纳不同的箭头类型、多方向箭头以及与子图之间的链接。 1、流程图的方向 TB - 从上到下TD - 自上而下/与上到下相同BT - 从下到上RL -…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...