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 -…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
