当前位置: 首页 > 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 -…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...