zoukankan      html  css  js  c++  java
  • mysql全库备份恢复某个表

    早上小红过来问我说网站的一个功能没了,看了下数据库,少了个表。好吧,心里mmp,开始恢复数据

    环境: 全库备份 恢复某一个表

    1.1 查看备份数据

    [aiye@aiye mysql_backup]$ ls -lh
    total 16G
    -rw-r--r-- 1 root root 5.4G May 21 00:58 2018_05_21_00_30_01.all.sql.zip     ##找到了备份数据

    1.2  查看备份文件类型

    [machao@iZ233xdnwmfZ mysql_backup]$ file 2018_05_21_00_30_01.all.sql.zip   ##查看文件类型

    2018_05_21_00_30_01.all.sql.zip: Zip archive data, at least v3.0 to extract

    1.3  解压

    将压缩文件“2018_05_21_00_30_01.all.sql.zip”在当前目录下解压缩。

    [aiye@aiye mysql_backup]$ unzip 2018_05_21_00_30_01.all.sql.zip

    将压缩文件“2018_05_21_00_30_01.all.sql.zip”在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件

    [aiye@aiye mysql_backup]$ unzip -n  2018_05_21_00_30_01.all.sql.zip -d /tmp 

    1.4 恢复数据

    如何从全库备份中抽取某张表呢,全库恢复,再恢复某张表小库还可以,大库就很麻烦了,那我们可以利用正则表达式来进行快速抽取,具体实现方法如下:

    1.从全库备份中抽取出t表的表结构    sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `domain`/!d;q'

    查找到了domain表的结构

    [aiye@aiye mysql_backup]$ sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `domain`/!d;q' 2018_05_22_00_30_01.all.sql    
    DROP TABLE IF EXISTS `domain`;
    /*!40101 SET @saved_cs_client     = @@character_set_client */;
    /*!40101 SET character_set_client = utf8 */;
    CREATE TABLE `domain` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
      `domain_name` varchar(255) NOT NULL DEFAULT '' COMMENT '域名',
      `create_time` int(11) unsigned DEFAULT '0' COMMENT '创建时间',
      `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '域名状态(0- 正常 1-封禁 -1 删除)',
      PRIMARY KEY (`id`)
    ) ENGINE=MEMORY AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
    /*!40101 SET character_set_client = @saved_cs_client */;
    2.从全库备份中抽取出t表的内容

    [aiye@aiye ~]$ grep'INSERT INTO `domain`'  2018_05_22_00_30_01.all.sql

    INSERT INTO `domain`
    VALUES
        (
            1,
            www.baidu.com',
            1523781065 ,- 1
        ),
     
     
  • 相关阅读:
    IO流(5)—缓冲流
    vue-element-admin 中文问题
    npm 下载慢解决方案
    fatal: unable to connect to github.com
    为什么有sessionStorage,localStorage等,还需要vuex
    vuex页面刷新数据丢失的解决办法
    Node中JWT的使用
    socket.io 实现长连接演示代码
    WebSocket 实现长连接演示代码
    jquery ajax上传文件
  • 原文地址:https://www.cnblogs.com/mclzy/p/9078815.html
Copyright © 2011-2022 走看看