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

【赵渝强老师】使用mysqldump备份MySQL

在这里插入图片描述

mysqldump 是MySQL自带的逻辑备份工具。它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。下面语句可以列出mysqldump的帮助信息。

mysqldump --help# 输出的信息如下:mysqldump  Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. 
All rights reserved.Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
......
视频讲解如下

【赵渝强老师】使用mysqldump备份MySQL

下面通过几个例子来说明如何使用mysqldump进行备份与恢复。
(1)创建mysqldump备份存储的目录

mkdir -p /databackup/mysqldump

(2)备份所有数据库

mysqldump -uroot -pWelcome_1 --all-databases > /databackup/mysqldump/all.db

《MySQL数据库从零开始》

(3)查看文件/databackup/mysqldump/all.db的内容

more /databackup/mysqldump/all.db# 输出的信息如下:
......
--
-- Current Database: `demo1`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `demo1` 
/*!40100 DEFAULT CHARACTER SET utf8 */ 
/*!80016 DEFAULT ENCRYPTION='N' */;
USE `demo1`;
--
-- Table structure for table `audit_message`
--
DROP TABLE IF EXISTS `dept`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `dept` (`deptno` int NOT NULL,`dname` varchar(10) DEFAULT NULL,`loc` varchar(10) DEFAULT NULL,PRIMARY KEY (`deptno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `dept`
--
LOCK TABLES `dept` WRITE;
/*!40000 ALTER TABLE `dept` DISABLE KEYS */;
INSERT INTO `dept` VALUES (10,'ACCOUNTING','NEW YORK'),
(20,'RESEARCH','DALLAS'),(30,'SALES','CHICAGO'),
(40,'OPERATIONS','BOSTON');
/*!40000 ALTER TABLE `dept` ENABLE KEYS */;
UNLOCK TABLES;
......# 提示:从all.db的内容可以看出mysqldump备份将备份的数据转换成了SQL语句。

(4)备份指定数据库

mysqldump -uroot -pWelcome_1 demo1 > /databackup/mysqldump/demo1.db

(5)备份指定数据库指定表(多个表以空格间隔)

mysqldump -uroot -pWelcome_1  demo1 test2 test3 emp \
> /databackup/mysqldump/multi_tables.db

(6)备份指定数据库排除某些表不进行备份

mysqldump -uroot -pWelcome_1 demo1 --ignore-table=demo1.test2 \
--ignore-table=demo1.test3 > /databackup/mysqldump/demo2.db

(7)删除demo1数据库

mysqladmin -uroot -pWelcome_1 drop demo1# 输出的信息如下:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.Do you really want to drop the 'demo1' database [y/N] y
Database "demo1" dropped

(8)执行恢复数据库demo1

mysqladmin -uroot -pWelcome_1 create demo1 mysql -uroot -pWelcome_1  demo1 < /databackup/mysqldump/demo1.db# 提示:在导入备份数据库前,demo1如果没有,则需要事先创建。

(9)检查数据是否恢复
《MySQL数据库从零开始》

http://www.lqws.cn/news/463159.html

相关文章:

  • 燕山大学多核程序设计实验(25最新版)
  • 数据分析核心指标体系:从求和、计数到比较的全维度计算方法
  • 一站式了解责任链模式
  • Qt实战:自定义二级选项框 | 附完整源码
  • 【Linux第四章】gcc、makefile、git、GDB
  • 【日志系统-时间戳】
  • 告别线程爆炸:我如何用 Spring WebFlux 构建一个端到端响应式应用
  • ad24智能pdf输出的装配图没有四个边角那里的圆孔
  • 面试题-ts中的typeof
  • 读者写者问题与读写锁自旋锁
  • OpenAI与微软的未来合作之路:充满挑战的AI竞赛与共赢
  • STM32F103C8T6 学习笔记摘要(二)
  • Knife4j 使用详解
  • (详细介绍)线性代数中的零空间(Null Space)
  • GitHub Copilot快捷键
  • JVM(8)——详解分代收集算法
  • linux生产环境下根据关键字搜索指定日志文件命令
  • Android多进程数据共享:SharedPreferences替代方案详解
  • RocketMQ--为什么性能不如Kafka?
  • 黑马头条-数据管理平台
  • Codeforces Round 1028 (Div. 2) A-C
  • ByteMD Markdown编辑器详细解释修改编辑器默认样式(高度300px)
  • Sublime text启用vim
  • 力扣刷题(第六十四天)
  • 咨询大师——解读96页麦肯锡金字塔原理【附全文阅读】
  • Qt输入数据验证的方法
  • 服务器架构---三高是什么
  • Ruby 范围(Range)
  • 如何用 eBPF 实现 Kubernetes 网络可观测性?实战指南
  • DM8故障分析工具-AWR报告