首页 > 数据库 >从MySQL全库备份中恢复某个库和某张表的方法

从MySQL全库备份中恢复某个库和某张表的方法

时间:2023-09-07 12:33:27浏览次数:43  
标签:-- 全库 张表 MySQL tt 备份 库名 sql 全备

一定要使用测试库操作

一、全库备份恢复单个库的数据流程:
1. 第一种方法:
--从全备中导出所需库的建库语句和INSERT语句。
sed -n '/^-- Current Database: `库名`/,/^-- Current Database: `/p' 全备.sql > test.sql

--导入库,会自动建库
mysql 库名 < test.sql

2. 另一种方法:
mysql -u用户 -p密码 单个数据库名 -o < 全备的sql文件

备注:
-o 为 --one-database的缩写,忽略其它库,只保留在命令行中的数据库。

done

二、全库备份恢复单个表的数据流程:
1、从全备份中提取出该表的建表语句
sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `表名`/!d;q' 全备库或导出的单库.sql > 表tt.sql

2. 提取该表的insert into语句,追加到上一个建库sql后
grep -i 'INSERT INTO `表名`' 全备库或导出的单库.sql >>表tt.sql

3. 导入到对应库中

mysql 库名 < 表tt.sql
或:
use 库名;
source 表tt.sql;

done

 

标签:--,全库,张表,MySQL,tt,备份,库名,sql,全备
From: https://www.cnblogs.com/flash100/p/17684506.html

相关文章

  • Linux系统安装jdk;tomcat;mysql。
    1安装jdk1:下载jdklinux环境jdk-8u161-linux-x64.tar.gz2:把下载好的软件放在linux系统中3:解压:tar-zxvfjdkXXXXX.tar.gz4:重命名:mvjdk1.8.0_161/jdk85:配置环境变量/etc/profile---->配置环境变量6:刷新/etc/profile文件source/etc/profile7:在任何目录输......
  • 【mysql】mysql判断某一张表是否存在的sql语句以及方法
    有四种方式进行判断: 1.--百分号中间为需要查询的表名SHOWTABLESLIKE‘%user%’;2. --dbname为数据库名字tablename为你需要查询的表名称,注意使用TEMPORARY关键字创建出来的临时表无法查询出来。selectTABLE_NAMEfromINFORMATION_SCHEMA.TABLESwhereTABL......
  • 【mysql】mysql分表分库
     MySQL按日期分表sql语句创建+XORM基于XORM框架实现分表MySQL数据库按时间分表的查询方法Mysqlunion与unionall究竟怎么用?到底有什么区别 #gorm分库分表https://gitee.com/lemontree/gorm-shardinghttps://blog.csdn.net/wyhstars/article/details/80609652http......
  • 软件测试|MySQL WHERE条件查询详解:筛选出需要的数据
    简介在数据库中,我们常常需要从表中筛选出符合特定条件的数据,以便满足业务需求或获取有用的信息。MySQL提供了WHERE条件查询,使我们能够轻松地筛选数据。本文将详细介绍MySQLWHERE条件查询的用法和示例,帮助大家更好地理解和应用这一功能。WHERE条件查询的基本语法SELECT列1,列2,.......
  • MySQL中的赋值操作
    在MySQL中,赋值操作用于将一个值赋给一个变量或者一个字段。赋值操作使用赋值运算符(=)来完成。以下是一些具体的示例说明:1.赋值给变量:在MySQL中,您可以使用SET语句将一个值赋给一个变量。例如,假设我们要将数字10赋给一个名为num的变量:SET@num=10;在上述示例中,我们使用SET语句......
  • MySQL或MariaDB查询数据添加序号
    1.通用方法:使用@变量SELECT@row_number:=@row_number+1ASrow_number,a.dept_nameFROMsys_departmenta,(SELECT@row_number:=0)bORDERBYdept_name;2.高版本即MySQL8.0或MariaDB10.5开始支持的ROW_NUMBER()函数SELECTROW_NUMBER()OVER(ORDERBYcolumn_......
  • mysql insert into on duplicate key update
    新增如果遇到主键冲突,则更新新建一张表,除了主键id,还有唯一健mobilecreatetableexample_user(idint(4)notnullauto_increment,namevarchar(20),mobilevarchar(20),addressvarchar(100),view_countint(4),primarykey(id),uniqu......
  • DELIMITER更改MySQL语句分隔符
    在MySQL中,DELIMITER是一个特殊的命令,用于更改语句分隔符。默认情况下,MySQL使用分号(;)作为语句分隔符,表示一个语句的结束。然而,当我们需要在单个语句中包含多个语句块时,我们可以使用DELIMITER命令来更改分隔符,以便在语句中使用分号。DELIMITER命令的语法如下:DELIMITE......
  • MySQL创建用户和对数据库授权方法
    一.创建用户命令CREATEUSER'username'@'host'IDENTIFIEDBY'password';说明:username:你将创建的用户名host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%password:该用户的登陆密码,密码可以......
  • MySQL系列之主从复制进阶——延时从库、半同步、过滤复制、GTID复制
    目录1.延时从库1.1介绍1.2为什么要有延时从1.3配置延时从库1.4延时从库应用1.4.1故障恢复思路1.4.2故障模拟及恢复2.半同步***2.1半同步复制工作原理的变化2.2配置半同步复制3.过滤复制3.1说明4.GTID复制4.1GTID引入4.2GTID介绍4.3GTID核心参数4.4......