MySQL数据备份和恢复
MySQL数据备份和恢复
数据备份
mysqldump是MySQL数据库备份工具,可以备份MySQL数据库中的数据和结构,生成.sql文件,方便数据的迁移和恢复。
使用mysqldump工具前一定要配置环境变量
- 打开开始菜单,搜索“环境变量”。
- 点击“编辑系统环境变量”。
- 点击“环境变量”按钮。
- 在“系统变量”下,点击“新建”。
- 输入“MYSQL_HOME”作为变量名,将MySQL安装目录的路径作为变量值(例如:C:\Program Files\MySQL\MySQL Server 5.7)。
- 点击“确定”保存变量。
- 在“系统变量”下,找到“Path”变量并点击“编辑”。
- 在“变量值”字段的末尾添加“%MYSQL_HOME%\bin”(不包括引号)。
- 点击“确定”保存变量。
- 重启计算机以使更改生效。
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}. 子序列 子序列就是在原来序列中找出一部分组成的序列 子序列不一定连续 相对位置还是不变 但是ÿ…...

MySQL 知识:迁移数据目录到其他路径
一、系统环境 操作系统:Centos 7 已安装环境:MySQL 8.0.26 二、开始操作 2.1 关闭SELinux 为了提高 Linux 系统的安全性,在 Linux 上通常会使用 SELinux 或 AppArmor 实现强制访问控制(Mandatory Access Control MACÿ…...

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

【滤波】多元高斯
本文主要翻译自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实现编程语言转换
编程语言转换 对于程序员来说,往往有一类工作,是需要将一部分业务逻辑实现从服务端转移到客户端,或者从客户端转移到服务端。这类工作,通常需要将一种编程语言的代码转换成另一种编程语言的代码,这就需要承担这项工作…...

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

进程地址空间与页表方面知识点(缺页中断及写时拷贝部分原理)
谢谢阅读,如有错误请大佬留言!! 目录 谢谢阅读,如有错误请大佬留言!! 抛出总结 开始介绍 发现问题 进程地址空间(虚拟地址) 页表 物理内存与进程地址空间映射 缺页中断基本…...

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

Flutter 组件抽取:日期(DatePicker)、时间(TimePicker)弹窗选择器【仿照】
简介 仿照《Flutter 仿ios自定义一个DatePicker》实行的日期弹窗选择器(DatePicker)、时间弹窗选择器(TimePicker) 效果 范例 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流程图
所有流程图都由节点,几何形状和边缘,箭头或线条组成。mermaid代码定义了这些节点和边缘的制作和交互方式。 它还可以容纳不同的箭头类型、多方向箭头以及与子图之间的链接。 1、流程图的方向 TB - 从上到下TD - 自上而下/与上到下相同BT - 从下到上RL -…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...