首页
学习
活动
专区
圈层
工具
发布

备份部分表&&快速备份大表

环境/读前须知要求mysql版本大于5.6.6MYSQL版本innodb_file_per_table难易程度(共5级)> 5.6.6true3需求分析需求:要备份部分表, 部分表中有个别表很大....比如5000W行分析备份大致分为两种: 物理备份和逻辑备份.物理备份: 速度快, 但是不支持异构恢复逻辑备份: 速度慢, 支持异构恢复, 方便备份部分表.所以整体使用逻辑备份(mysqldump),...个别大表使用物理备份(导出表空间)实现逻辑备份和恢复mysql备份部分表, 比较简单, 直接参考如下命令即可mysqldump -h127.0.0.1 -P3308 -uroot -p123456 \-...本文只演示非分区表(不建议使用分区表....)备份/导出注意: 备份导出的时候目标表是只读的状态mysql> flush table t1 for export; -- 窗口不要关, 不然锁(metadata...当然也可以只备份部分重要的表(部分表可能会破坏事务的完整性).定时任务参考30 23 * * 6 /usr/bin/sh /path/backup_dbn.sh #每周六23:30备份

2.1K01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从Mysql备份中恢复单个表

    因为云平台的备份是把库中所有的表都打包成一个 .sql文件,然而这一个.sql文件大约有20G,现阶段的方法是把.sql文件source到数据库数据处理机器上,然后再根据需求提出需要的表。...但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 不加-n的话,不仅打印结果行,也打印整个文本的内容。...我们使用如下sed命令从原始sql中导出wp_comments表: 意思是:打印DROP TABLE....此时,lianst.wp_comments.sql 就是我们从原始备份sql(lianst.sql)中导出的wp_comments表的sql语句。接下来我们就可以针对这一个表来进行恢复了。...#登陆Mysql服务器 [root@bj ~]# mysql -uroot -p Enter password:   mysql> source lianst.wp_comments.sql;

    7K110

    Java异常处理只有Try-Catch吗?

    在本文中,我们将探讨 Java 异常处理的不同方法,并讨论如何使用 Vavr Try 替代内置方法。让我们开始吧! 处理 Java 中的异常 作为介绍,让我们回顾一下 Java 如何允许我们处理异常。...如果你不记得它,则 Java 中的异常会指出意外或意外事件,该异常在程序执行期间(即在运行时)发生,这会破坏程序指令的正常流程。Java为我们提供了上述 try-catch 捕获异常的机制。...情况 1:运行时异常 Java 异常是 Throwable 的子类,但是其中一些是 RuntimeException 类的子类。看下面的图,它给出了 Java 异常的层次结构: ?...Try-Catch 块的变体 上述编写 try-catch 语句的方法并不是 Java 中唯一可用的方法。...到这里,我们已经回顾了如何使用内置方法处理 Java 中的异常。现在,让我们看一下如何使用 Vavr 库执行此操作。 Vavr Try 我们回顾了捕获 Java 异常的标准方法。

    1.8K10

    MySQL_库和表的使用(部分未完

    mysqldump [-P端口号] -u用户名 -p密码 [-B] 数据库1 数据库2 > 备份后的名称.bak.sql eg:mysqldump -uroot -p0295 -B test2 test_mysql...> test.back.sql两个数据库备份到了一个备份文件上 也可以只进行数据库中表的备份 $ mysqldump [-P端口号] -u用户名 -p密码 数据库名 表1 表2 > 备份后的名称.bak.sql...其他知识点详见置顶链接 还原命令在mysql中执行 mysql> source 备份文件路径 eg:source /yj/test2.bak.sql 数据库中的内容和原来数据库中的内容是相同的 mysql...备份的时候,会将里面的语句智能化简 MySQL通过system执行shell命令 eg:mysql> system clear执行清理屏幕功能 DDL命令操作表时要加table固定写法 比如alter,...一般情况下不建议使用全列查询 查询到的数据越多,数据传输量越大 可能会影响索引的使用 按列查询 查询指定字段的数据,并汇聚成一张表呈现出来 表达式查询 所以可以看出来,select到from之间的这部分

    1.1K10

    【MySQL系列】通过创建新表备份 password 字段

    通过创建新表备份password字段为了解决上述挑战,我们可以采用创建新表的方式来备份User表中的password字段。这种方法简单、直接,并且可以有效地保护密码数据。...步骤 1:登录数据库备份过程的第一步是登录到数据库。你可以使用各种数据库管理工具,如 phpMyAdmin、MySQL Workbench 等,或者直接通过命令行登录。...确保你有足够的权限来执行创建表和选择数据的操作。步骤 2:创建新表创建新表是备份过程中的核心步骤。...图片备份表的注意事项尽管通过创建新表备份password字段有很多优势,但在实际操作中也需要注意以下几点:定期更新:为了确保备份数据的准确性,需要定期更新备份表,以反映User表中的最新变化。...灾难恢复计划:除了创建备份表外,还应制定灾难恢复计划,以便在数据丢失或损坏时迅速恢复服务。结论通过创建新表来备份User表中的password字段是一种简单而有效的策略。

    1.1K00

    MYSQL使用mysqldump导出某个表的部分数据

    MySQLdump是MySQL自带的导出数据工具,通常我们用它来导出MySQL中,但是有时候我们需要导出MySQL数据库中某个表的部分数据,这时该怎么办呢?...#mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 #mysqldump -d -A --add-drop-table -uroot...-F, --flush-logs    在开始导出前,洗掉在MySQL服务器中的日志文件。    -f, --force,    即使我们在一个表导出期间得到一个SQL错误,继续。   ...从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。    -l, --lock-tables.    为开始导出锁定所有表。   ...注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和 --lines--xxx选项来定。

    9.4K20

    无备份情况下恢复MySQL误删的表

    今天分享的内容,是他在MySQL数据恢复上所做的尝试。 本文主要分享在没有备份的情况下,MySQL数据库如何恢复被删除的表。...MySQL drop table 这里我们首先来测试innodb_file_per_table为off的情况,即表结构和数据存在同一个文件中。这里我分别测试了表存在主键和不存在主键的情况,供参考。...2备份表结构 [root@killdb ~]# mysqldump --opt -d -uroot -proger recover test_drop0801 > /tmp/innodb_recovery...2备份表结构 [root@killdb innodb_recovery]# mysqldump --opt -d -uroot -proger recover t_enmotech > /tmp/innodb_recovery...抽取数据之前,必须提前准备好表的表结构,由于这里是truncate,因此表结构是存在的,很容易获取。我这里是测试,所以之前就备份了结构。 那么如果是drop table 呢?

    14.5K110

    java实现定时备份手动备份还原mysql数据库

    备份数据库的方法使用了mysql自带的mysqldump进行备份,得到数据库的sql文件,完成备份....下面是具体的实现 首先,相关配置文件,放在文件类路径下 (dbBackUpRecover.properties) #smysql备份功能路径与数据库用户名和密码 #//usr//bin 为mysql...:00 #造成两点半备份一次 得到配置文件中相应数据的读取文件类 (GetProperties.java) import java.io.IOException; import java.io.InputStream...; import java.io.IOException; /** * 时间监听器,用于定时备份数据库 */ public class OperationListener implements ServletContextListener...set utf-8 (path: C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\), //又是讨人厌的编码问题,在恢复的时候设置一下默认的编码就可以了

    7.6K31

    MySQL用全库备份数据恢复单表数据

    备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个表的数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个表只有几十M,但是其它表可能有十几上百G,这时候就需要将需要恢复的表提取出来了...现在有备份库fdcsqlMySQL-2018_11_30-03_00_01.sql,里面有多张表,现在需要恢复其中fdc_document这张表的数据 提取建表语句 sed -e '/....d;}' -e 'x;/CREATE TABLE `表名`/!d;q' mysqldump.sql(备份文件的文件名) sed -e '/./{H;$!...40101 SET character_set_client = @saved_cs_client */; 提取表数据 grep 'INSERT INTO表名' mysqldump.sql(备份文件的文件名...,就可以正常恢复表数据了 建库建表 先创建数据库,再根据上面的SQL语句创建表fdc_document 导入表数据 MySQL [document]> souce /data/backup/mysql/

    1.4K10

    MYSQL Xtrabackup 做备份的时候你忘了点什么吗?

    众所周知Xtrabackup 是mysql 中重要的备份工具,而数据库的备份中,尤其大内存的 MYSQL 备份中,都有一个问题的存在就是 innodb_buffer_pool 的存在。...备份后的MYSQL 在恢复后,一般innodb_buffer_pool 的数据都不会再恢复的数据库上出现,越大的内存和繁忙的MYSQL 在数据恢复后,就会有一个缓冲期,需要预热一段时间。...但到备份就不大现实了,终不能为了这个功能,把数据库关机,在备份吧。...所以 XTRABACKUP 提供了再备份的时候,直接将innodb_buffer_pool 进行一个备份,并且在恢复的时候,将其恢复到MYSQL中,等恢复的MYSQL 启动后,你的innodb_buffer_pool...=/data/mysql/mysql.sock --backup --dump-innodb-buffer-pool --target-dir=/data/backup/2019-08-31 添加了

    1.2K40

    MySQL 中的表级锁很差劲吗?

    1.锁 我们先来大致说一下 MySQL 中的锁。...当多个事务或者多个进程访问同一个资源的时候,为了保证数据的一致性,就需要用到 MySQL 锁机制,从锁定资源的角度来看,MySQL 中的锁大致上可以分为三种: 表级锁(table-level locking...在 MySQL 中,MyISAM 引擎是表级锁,而 InnoDB 引擎则支持行级锁,不过需要注意,其实 InnoDB 也支持表级锁,只不过默认情况下是行级锁。...2.表级锁 MySQL 的表级锁有两种模式: 表共享读锁(Table Read Lock)。 表独占写锁(Table Write Lock)。...评论区 show 出你的答案~ 2.2 表独占写锁 这个独占写锁就是大家锁所熟知的排他锁,它会阻塞其他进程对同一表的读写操作,只有当当前锁释放后,才会执行其他进程的读写操作。

    1.4K40

    使用innobackupex对数据库进行部分备份(指定表或数据库)

    实验环境 此次实验的环境如下 MySQL 5.7.26 Redhat 6.10 操作系统账号:mysql 数据库备份账号:backup xtrabackup 同样支持部分备份,即可以备份指定的表和数据库...单独备份表的话需要表在独立的表空间里面,即配置了innodb_file_per_table参数 关于还原部分备份,只有一个注意点,即不能使用传统的prepare和copy back命令,需要使用export...1.2 建立备份目录 shell>mkdir -p /oradata/data/mysql/xtra 注意 mysql用户需要有读写权限,并且该目录需要为空,否则备份失败 1.3 开始备份 我们有三种方法对数据库进行部分备份...可以看到test目录下只有innodb_table相关的数据文件 innobackupex --tables-file 下面命令会读取一个文件,该文件里面有需要备份的表,每个表换行,以databasename.tablename...这部分首先根据命令的条件跳过一些数据库 这部分首先列出数据库中有哪些表空间 系统表空间(ibdata) undo表空间(undo) 用户表空间(innodb_file_per_table开启后每张表和表空间一一对应

    4K20

    MySQL数据库(表)的导入导出(备份和还原) mysql 根据一张表数据更新另一张表

    mysql 根据一张表数据更新另一张表 sql示例 update a  ,b  set  a.name = b.name  where  a.id = b.id 一)在同一个数据库服务器上面进行数据表间的数据导入导出...如果表tb1和tb2只有部分字段是相同的,要实现将tb1中的部分字段导入到tb2中相对应的相同字段中,则使用以下命令: insert into db2.tb2(字段1,字段2,字段3……) select...这些方法多应用于数据库的备份和还原中 1.远程数据库(表)导出到本地数据库(表)文件 (1)导出数据库 mysqldump -h192.168.1.1 -uroot -p123456 --databases...是远程数据库mydb导出文件的本地存放位置 (2)导入数据表 在本地数据库中创建相对应导出的数据库mydb同名的数据库: mysql> create database mydb; 然后在mysql...表数据导入到数据表中: mysql -uroot -p123456 --default-character-set=utf8 use guanjia; load data infile '/tmp

    14.4K10

    Mysql数据库备份还原和数据表、数据导出导入

    一、数据库备份 mysqldump -u root 数据库名>备份文件名;#备份整个数据库 mysqldump -u root 数据库名 表名字>备份文件名;#备份整个表 压缩备份   mysqldump...-u root 要恢复到的数据库或表 备份的数据库 mysqldump -u用户 -p密码 数据库 mysql.sql   例子:    mysqldump -uroot -...','Abdul S','2007-05-24'); INSERT INTO runoob_tbl VALUES (3,'JAVA Tutorial','Sanjay','2007-05...该方法可用于实现数据库的备份策略。 将数据表及数据库拷贝至其他主机 如果你需要将数据拷贝至其他的 MySQL 服务器上, 你可以在 mysqldump 命令中指定数据库名及数据表。...***** 如果完整备份数据库,则无需使用特定的表名称。

    8.9K20
    领券