首页 > 数据库 >使用mysqldump命令对MySQL数据库进行备份与还原操作

使用mysqldump命令对MySQL数据库进行备份与还原操作

时间:2023-07-10 10:48:53浏览次数:49  
标签:SET OLD -- 备份 SQL CHECKS mysqldump MySQL price

mysqldump是mysql自带的逻辑备份工具,是mysql的客户端命令。

其备份的文件内容可以看到主要是,先根据备份的数据表结构创建数据表,再有一条INSERT INTO语句写入所有的数据

 

1、mysqldump备份相关的操作

1、备份指定的数据库-database的表与数据

C:\Users\qq-5201351> mysqldump -uroot -p mydb > ./mydb-dump-20230710.sql

然后查看文件,可以看到内容如下:

-- MySQL dump 10.13  Distrib 8.0.30, for Win64 (x86_64)
--
-- Host: localhost    Database: aws
-- ------------------------------------------------------
-- Server version    8.0.30

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `aws_ec2_price`
--

DROP TABLE IF EXISTS `aws_ec2_price`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aws_ec2_price` (
  `os_type` varchar(50) DEFAULT NULL,
  `instance_type` varchar(30) DEFAULT NULL,
  `vcpu` smallint DEFAULT NULL,
  `memory` int DEFAULT NULL,
  `year` tinyint DEFAULT NULL,
  `ri_price` int DEFAULT NULL,
  `scope` varchar(10) DEFAULT NULL,
  `od_price` double DEFAULT NULL,
  `ReservedInstancesOfferingId` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aws_ec2_price`
--

LOCK TABLES `aws_ec2_price` WRITE;
/*!40000 ALTER TABLE `aws_ec2_price` DISABLE KEYS */;
INSERT INTO `aws_ec2_price` VALUES ('Red Hat Enterprise Linux','c3.2xlarge',8,15360,1,18767,'Region',5.026,'65e74e45-fb81-4a55-baba-63f0bddfb25f'),('Red Hat Enterprise Linux','c3.4xlarge',16,30720,1,30597,'Region',9.243,'8d97e58b-8070-446f-aa26-b3dd2f83370b');
/*!40000 ALTER TABLE `aws_ec2_price` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2023-07-10  9:33:16

备份有时可能还会用到如下几个操作(未测试)

1.备份所有数据库(包括mysql和test):
mysqldump -uroot -ppwd --all-databases > ./all-databases-dump.sql

2.备份指定数据库指定表(多个表以空格隔开):
mysqldump -uroot -ppwd mydb table01 table02 > ./mydb-part.sql

3.备份指定数据库排除某些表:
mysqldump -uroot -ppwd mydb --ignore-table=mydb.tb1 --ignore-table=mydb.tb2 > ./mydb-part.sql

 

2、mysqldump还原相关的操作

1、对于单库的备份文件,进行还原,需要先创建一个空的数据库,如mydb02

mysql -uroot -ppwd mydb02 < ./mydb-dump-20230710.sql

2、使用source用法,这个需要先进入到数据库

[root@qq-5201351 ~]# mysql -uroot -p
mysql> use my_db02
mysql> source /path/db_back.sql

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17540227.html

 

标签:SET,OLD,--,备份,SQL,CHECKS,mysqldump,MySQL,price
From: https://www.cnblogs.com/5201351/p/17540227.html

相关文章

  • oracle 数据库备份shell脚本
    #!/bin/bash#设置Oracle环境变量exportORACLE_HOME=/path/to/oracle/homeexportORACLE_SID=your_oracle_sidexportPATH=$ORACLE_HOME/bin:$PATH#定义备份目录backup_dir="/path/to/backup/directory"#定义日志文件路径log_file="/path/to/log/file.log"#定义远程服务......
  • mysql开启远程连接的权限及性能优化详解
    最近使用NavicatforMySQl访问远程mysql数据库,出现报错,显示“1130-Host’xxx.xxx.xxx.xxx’isnotallowedtoconnecttothisMySQLserver“。经查阅,错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访......
  • Liunx安装mysql教程
    1.前置准备卸载旧版MySQL查看rpm包rpm-qa|grepmysql 若有可用rpm-e卸载查找mysql残留包,有则删除,没有则忽略find/-namemysql安装相关依赖yum-yinstallmakegcc-c++cmakebison-develncurses-develnumactllibaio创建用户和用户组groupaddmysqluseradd-s/sbin/nolo......
  • MySQL之慢 SQL 定位、性能优化实践
    MySQL之慢SQL定位、性能优化实践IT大咖说 2023-07-0520:00 发表于浙江在面试中被问到MySQL慢查询的概率还是非常高的。说你没有经历过就是理由吗?显然不是。一般来说一句SQL语句执行超过5s就能够算是慢SQL,需要进行优化了。◆ 为何要对慢SQL进行治理每一个SQL......
  • MySQL下载与安装详细教程(免安装版)
    1、MySQL下载下载地址:MySQL::DownloadMySQLCommunityServer点击此处直接进行下载 2、MySQL文件配置下载完成后直接解压文件,将解压好的文件放到你想要放置的文件夹。 新建一个dat文件夹和一个mysql.ini配置文件。注:mysql.ini可以新建mysql.txt修改文件后缀名即可。......
  • MySQL多表查询-小记
    基本的多表查询模板:SELECT列列表FROM表1JOIN表2ON连接条件JOIN表3ON连接条件...WHERE筛选条件GROUPBY分组列HAVING分组筛选条件ORDERBY排序列SELECT:指定要查询的列,可以使用逗号分隔多个列。FROM:指定要查询的表,可以使用逗号分隔多个表。在查询中涉......
  • 23 | MySQL是怎么保证数据不丢的?
    以下内容出自《MySQL实战45讲》23|MySQL是怎么保证数据不丢的?binlog的写入机制1、事务执行过程中,先把日志写到binlogcache,事务提交的时候,再把binlogcache写到binlog文件中。2、一个事务的binlog是不能被拆开的,因此不论这个事务多大,也要确保一次性写入。3、......
  • MySQL之GROUP_CONCAT()
    MySQL的group_concat()函数可太好用了将作用是将属于同一组的列显示出来,所以和groupby一同使用,同一组的默认以逗号分隔显示基础语法:selectgroup_concat(列SEPARATOR',')fromtablenamegroupby列名SEPARATOR定义以什么分隔结果,可以不写,不写就是默认以逗号分隔; ......
  • 如何自动(定时/间隔/重复)执行 同步文件、备份打包加密压缩文件
    参考下列两个教程结合使用即可:快捷自由定时重启、注销、关机如何从多个文件夹内转移全部文件(忽略文件夹的结构)(进行复制)(再打包)就是先设定好勾选对'来源路径’Zip打包,并且勾选备份模式备份模式下,就会先对要复制的文件(夹)先打包,然后可以再对包重命名,再复制到指定的位置中去保......
  • MyBaits查询MySQL日期类型结果相差8个小时
    问题描述在Java项目中使用MyBatis作为ORM框架,但是查询出的MySQL日期类型字段值总是比数据库表里的值多8个小时。具体说明:MySQL数据库表字段类型为timestamp,映射的Java日期类型为java.util.Date,当数据库表里的字段值为2023-07-0800:08:38时,查询出的Java字段值为2023-07-0808:0......