怎样从完全的MySQL DB转储文件中提取表备份【MySQL教程】,MySQL
作者:搜教程发布时间:2019-11-27分类:MySQL教程浏览:34评论:0
导读:mysqldump是mysql/mariadb为备份数据库和表供应的实用程序。一般来说,我们会按期对数据库举行完全的转储并保留。但偶然我们须要从备份中恢复单个或两个表。问题是怎样从...
mysqldump是mysql/mariadb为备份数据库和表供应的实用程序。一般来说,我们会按期对数据库举行完全的转储并保留。但偶然我们须要从备份中恢复单个或两个表。问题是怎样从完全备份文件中恢复特定表?本篇文章将引见从完全的数据库备份文件中提取表备份。另外,我们还能够在每一个表中提取单个文件中的一切表备份。
第1步:下载MySQL dump拆分剧本
在零丁的表特定文件备份中拆分完全的mysqldump数据库备份文件。建立一个名为splitdb.sh的文件,并在个中复制下面的剧本。
#!/bin/bash #### # Split MySQL dump SQL file into one file per table # based on http://blog.tty.nl/2011/12/28/splitting-a-database-dump #### if [ $# -lt 1 ] ; then echo "USAGE $0 DUMP_FILE [TABLE]" exit fi if [ $# -ge 2 ] ; then csplit -s -ftable $1 "/-- Table structure for table/" "%-- Table structure for table `$2`%" "/-- Table structure for table/" "%40103 SET TIME_ZONE=@OLD_TIME_ZONE%1" else csplit -s -ftable $1 "/-- Table structure for table/" {*} fi [ $? -eq 0 ] || exit mv table00 head FILE=`ls -1 table* | tail -n 1` if [ $# -ge 2 ] ; then mv $FILE foot else csplit -b '%d' -s -f$FILE $FILE "/40103 SET TIME_ZONE=@OLD_TIME_ZONE/" {*} mv ${FILE}1 foot fi for FILE in `ls -1 table*`; do NAME=`head -n1 $FILE | cut -d$'x60' -f2` cat head $FILE foot > "$NAME.sql" done rm head foot table*
第2步:从dump中提取一切表
关于这个例子,有一个名为mydb.sql的转储文件,要想在每一个表的小备份中拆分。为此,须要建立了一个新目次/ opt / splitdb,并在此目次中复制了名为splitDB.sh的剧本。如今运用以下敕令提取单个备份文件中的一切表。
#cd / opt / splitdb #sh splitDB.sh mydb.sql
第3步:从dump中提取单个表
假如我们只想提取一个表,我们能够运用以下敕令。比方,要想只拆分名为my_tbl1和my_tbl2的表。它将在当前目次中提取名为my_tbl1.sql和my_tbl2.sql的备份。
#cd / opt / splitdb #sh splitDB.sh mydb.sql my_tbl1 #sh splitDB.sh mydb.sql my_tbl2
本篇文章到这里就已悉数完毕了,更多其他精彩内容能够关注ki4网的MySQL教程视频栏目!
以上就是怎样从完全的MySQL DB转储文件中提取表备份的细致内容,更多请关注ki4网别的相干文章!
标签:MySQL
相关推荐
- MySQL如何使用授权命令grant_MySQL教程,MySQL,grant
- MySQL 连接查询超级详解_MySQL教程,MySQL,连接查询
- PHP如何结合MySQL进行千万级数据处理_php教程,PHP,MySQL,数据处理
- MySQL中explain用法和结果分析(详解)_MySQL教程,MySQL,explain
- 解决MySQL会出现中文乱码问题的方法_MySQL教程,MySQL,中文乱码
- 了解MySQ(Oracle)模糊查询 使用instr()替代like提升效率_MySQL教程,MySQL,instr(),like
- MySQL单表容量有多少_MySQL教程,MySQL
- 常用MySQL函数有哪些?_MySQL教程,MySQL,常用函数
- mysql中varchar最大长度有多大_MySQL教程,MySQL
- mysql between and 包含边界吗_MySQL教程,MySQL
你 发表评论:
欢迎- MySQL教程排行
-
- 1如何修改mysql的默认时区_MySQL教程,mysql,时区
- 2mysql数据库如何创建数据表_MySQL教程,mysql,数据表
- 3linux源码安装mysql5.7_MySQL教程,linux,mysql,mysql5.7
- 4MySQL 连接查询超级详解_MySQL教程,MySQL,连接查询
- 5MySQL如何使用授权命令grant_MySQL教程,MySQL,grant
- 6mysql外键约束怎么写_MySQL教程,mysql,外键约束
- 7sql数据库触发器怎么创建_MySQL教程,sql,触发器
- 8MySQL中explain用法和结果分析(详解)_MySQL教程,MySQL,explain
- 9mysql如何设置字符集为UTF8_MySQL教程,mysql,UTF8,字符集
- 最新文章
- 广而告之