IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mysqldump备份小结 -> 正文阅读

[大数据]mysqldump备份小结

1.备份
? ?MySQL使用mysqldump命令进行备份。
1.1基本命令

? ?mysqldump?-uroot?-p?数据库名?> 备份文件名
注:
备份文件名可以包含全路径

1.2写入多个库名可以实现备份多个库
? ?mysqldump?-uroot?-p?数据库名1?数据库名2> 备份文件名

1.2参数-B?增加了创建库和使用库的命令
? ?mysqldump?-uroot -p?-B?数据库名 > 备份文件名

1.3使用|gzip通过管道调用gzip对生成的备份文件进行压缩
? ?mysqldump?-uroot?-p?-B?数据库名 ?|gzip> 备份文件名

1.4多实例情况下需要指定socket
??mysqldump?-uroot -p?-S?socket名(可以带全路径) ?数据库名 > 备份文件名
1.5备份多库的方法
? ?使用 -e执行show databases输出全部库,并过滤不需要的数据库,最后sed命令替换字符形成命令

? ?mysql -uroot -p123456 -e "show databases;"|grep -Evi "database|info|profor"|sed -r 's#^([a-z].*$)#mysqldump -B \1 >/root/\1#g'

?

? ? mysql -uroot -p ?-e "show databases;"|grep -Evi "database|info|profor"|sed -r 's#^([a-z].*$)#mysqldump -B \1 >/root/\1.sql#g'|bash

跟bash则可以执行命令了。

注:这里在mysqldump后面没有用户名和密码,需要在my.cnf中配置mysqldump下添加备份专用用户名和密码。
1.6脚本方式备份多库
? ?将备份库名导入到一个文本中,如
? ?mysql?-uroot -p ?-e "show databases;"|grep -Evi "database|info|profor">/opt/databases.txt
? ?编写脚本按行读取数据库名,执行备份。
如下:

while read dbname;

do

? ? mysqldump --events?-B?$dbname|gzip > /opt/bak/${dbname}_bak.sql.gz

done < /opt/_databases.txt;

1.7备份数据库内单一表

? ??mysqldump?-uroot -p123456?数据库名?表名 >备份文件名

? ?如果想备份两张表以上,那么可以写多个表名。
? ??mysqldump?-uroot -p123456?数据库名?表名1 表名2>备份文件名
1.8备份数据结构(不备份数据)

? ??mysqldump?-uroot -p123456?-d??数据库名 ?>备份文件名

? ??mysqldump?-uroot -p123456?-d??数据库名 表名 >备份文件名
1.9只备份数据(不备份结构)

? ??mysqldump?-uroot -p123456?-t??数据库名 ?>备份文件名

? ??mysqldump?-uroot -p123456?-t??数据库名 表名 >备份文件名
1.10备份全部库

? ??mysqldump?-uroot -p123456?-A?-B?>备份文件名

1.11备份时刷新binlog
? ??mysqldump?-uroot -p123456 -A -B?-F>备份文件名
注:利于增量备份。
? ??mysqldump?-uroot -p123456?--master-data=1?--compact ?数据库名>备份文件名
? ?这个方式可以自动记录binlog位置。增量恢复时,恢复其位置之后的即可。
master-data=2则该位置语句会被注释。
1.12锁表备份
? ?使用-x参数,可以在锁表状态下进行备份。
? ?使用-l参数,可以在只读锁表

? ?备份文件可以使用如下命令查看。
? ?egrep -v "#|\*|--|^$" 备份文件名(非压缩)
注:
? ?使用mysqldump实质上是将数据以sql语句的形式导出。
1.13 innodb事务数据库备份
? ?使用--single-transaction,在备份时,提交的新数据被隔离,不会被本次会话看到。
? ?myisam引擎
? ?mysqldump?-uroot -p123456 -A -B --master-data=1?-x|grep >/opt/al.sql.gz
? ?innodb引擎
? ?mysqldump?-uroot -p123456 -A -B --master-data=1?--single-transaction|grep >/opt/al.sql.gz
1.14官方备份图示

? ?这一演示包含了触发器和存储过程的备份。
2.数据恢复
2.1使用mysql命令恢复
? ?mysql?-uroot -p 数据库名<备份文件名

2.2使用source命令恢复
? ?source是mysql的内部命令,需要先进入mysql环境

? ?本例先删除了库,再使用source进行恢复。本例的备份文件是包含建库的。
2.3恢复多个数据库
? ?假定有多个数据库备份,想要一次性恢复。
? ?数据库备份文件名依次为t1_bak.sql,t2_bak.sql,t3_bak.sql
? ?t1,t2,t3分别为数据库名。
? ?恢复命令如下:
? ?for dbname in `ls *.sql|sed 's#_bak.sql##g';do mysql -uroot -p123456 <${dbname}_bak.sql;don

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:33:20  更:2021-10-20 12:34:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:02:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码