数据库的备份恢复是DBA的必修课,本文首先讲解mysqldump完整备份恢复的操作方法,演示数据库完整备份的基本过程。然后再模拟数据库遭遇灾难性破坏,配合bin-log日志实验数据库灾难性恢复的步骤。

一、mysqldump备份数据

mysqldump常用选项解析:

-u --user 用户名
-p --password 密码
-h --host=name 指定从远程主机备份(若不指定就是本机)
-l --lock-tables 指定读锁定(完成之后自动解锁)
-F --flush-logs 指定立刻刷新系统log日志,产生新的bin-log日志
-A --all-databases 所有数据库
-B --databases 指定若干个数据库:数据库名1 数据库名2
--log-error=name 指定此次备份的出错日志文件路径

A.将本地服务器上的所有数据库都备份
# /usr/local/mysql/bin/mysqldump -uroot -p123456 -lF --log-error=/root/myDump.err -A > /root/dball.sql
@ 主机:localhost
@ 数据库:所有数据库
@ 数据表:所有表
@ 错误日志:/root/myDump.err
@ 备份文件:/root/dball.sql

B.将本地服务器上的部分数据库备份
# /usr/local/mysql/bin/mysqldump -uroot -p123456 -lF --log-error=/root/myDump.err -B test zyyshop > /root/test_zyyshop.sql
@ 主机:localhost
@ 数据库:test 和 zyyshop 两个数据库
@ 数据表:所有表
@ 错误日志:/root/myDump.err
@ 备份文件:/root/test_zyyshop.sql

C.将本地服务器上的zyyshop数据库备份
# /usr/local/mysql/bin/mysqldump -uroot -p123456 -lF --log-error=/root/myDump.err -B zyyshop > /root/zyyshop.sql
@ 主机:localhost
@ 数据库:zyyshop数据库
@ 数据表:所有表
@ 错误日志:/root/myDump.err
@ 备份文件:/root/zyyshop.sql

注:当只备份一个数据库时加-B选项会在备份语句开头加有“CREATE DATABASE zyyshop”建库语句(推荐!),否则没有这条建库语句;

D.将本地服务器上的zyyshop数据库中的stu表、users表备份
# /usr/local/mysql/bin/mysqldump -uroot -p123456 -lF --log-error=/root/myDump.err zyyshop stu users > /root/zyyshop.stu_users.sql
@ 主机:localhost
@ 数据库:zyyshop数据库
@ 数据表:stu表、users表
@ 错误日志:/root/myDump.err
@ 备份文件:/root/zyyshop.stu_users.sql

注:当只备份某个库里的某些表时,格式:{库名} {表1} {表2}...
库名前是不能加-B选项的,否则系统会认为你要备份的是“zyyshop stu users”这三个数据库。

E.将远程主机(192.168.137.27)上的zyyshop数据库备份(异地备份)
# /usr/local/mysql/bin/mysqldump -uLisi -p123456 -h192.168.137.27 -lF --log-error=/root/myDump.err -B zyyshop > /root/host27.zyyshop.sql
@ 主机:192.168.137.27
@ 数据库:zyyshop数据库
@ 数据表:所有表
@ 错误日志:/root/myDump.err
@ 备份文件:/root/host27.zyyshop.sql

二、mysql命令导入恢复数据
常用选项:
-u --user 用户名
-p --password 密码
-h --host 指定向远程主机恢复(不指定就是从本机)
-v --verbose 将执行过程输出到屏幕显示
-f --force 如遇到错误sql语句就忽略,继续向下执行(如不加则可能会终止在某条错误的sql语句处)

A.假设zyyshop.sql这个备份文件是含“CREATE DATABASE zyyshop”建库语句的,则直接导入即可:
# /usr/local/mysql/bin/mysql -uroot -p123456 -v < /root/zyyshop.sql

B.假设zyyshop.sql这个备份文件不含“CREATE DATABASE zyyshop”建库语句的,则本地需要先建库再导入:

必须先登录主机并建库:
mysql> create database zyyshop;

然后再导入到指定库中:
# /usr/local/mysql/bin/mysql -uroot -p123456 -v zyyshop < /root/zyyshop22.sql

C.向远程主机(192.168.137.27)恢复数据,假设zyyshop.sql这个备份文件是含“CREATE DATABASE zyyshop”建库语句的:
# /usr/local/mysql/bin/mysql -uroot -p123456 -h192.168.137.27 -v < /root/zyyshop.sql

mysqldump备份恢复的更多相关文章

  1. mysql之 mysqldump 备份恢复详解

    mysqldump是MySQL用于转存储数据库的客户端程序.转储包含创建表和/或装载表的SQL语句 ,用来实现轻量级的快速迁移或恢复数据库,是mysql数据库实现逻辑备份的一种方式. mysqldum ...

  2. mysqldump备份恢复数据

    //导出数据(多个表以空格间隔)mysqldump -h 127.0.0.1 -uroot -p123456 --default-character-set=utf8 pandora report & ...

  3. MySQL基于mysqldump及lvmsnapshot备份恢复

    一.备份对象 数据 配置文件 代码:存储过程,存储函数,触发器 跟复制相关的配置 二进制日志文件 二.备份工具 mysqldump:逻辑备份工具 InnoDB热备.MyISAM温备.Aria温备 备份 ...

  4. MySQL备份恢复-mysqldump原理

    +++++++++++++++++++++++++++++++++++++++++++标题:mysqldump对MySQL数据库备份恢复原理时间:2019年2月23日内容:mysqldump工具重点: ...

  5. 使用mysqldump命令备份恢复MySQL数据库

    1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文 ...

  6. select … into outfile 备份恢复(load data)以及mysqldump时间对比

    select … into outfile 'path' 备份 此种方式恢复速度非常快,比insert的插入速度要快的多,他跟有备份功能丰富的mysqldump不同的是,他只能备份表中的数据,并不能包 ...

  7. MySQL备份和恢复[3]-mysqldump备份工具

    mysqldump 概述 逻辑备份工具: mysqldump, mydumper, phpMyAdmin Schema和数据存储在一起.巨大的SQL语句.单个巨大的备份文件 mysqldump:是My ...

  8. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  9. Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录

    在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据. 线上数据库备份场景:每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份 ...

随机推荐

  1. 五、利用EnterpriseFrameWork快速开发基于WebServices的接口

    回<[开源]EnterpriseFrameWork框架系列文章索引> EnterpriseFrameWork框架实例源代码下载: 实例下载 前面几章已完成EnterpriseFrameWo ...

  2. 七、EnterpriseFrameWork框架基础功能之字典数据配置管理

    框架中的“通用字典数据配置管理”主要解决的问题是,所有的行业软件给客户实施第一步一般都是基础数据的维护,一个系统的字典是少不了的,涉及业务范围越广字典就越多,如果每一个字典数据都做一个界面来进行维护数 ...

  3. OpenCL入门:(二:用GPU计算两个数组和)

    本文编写一个计算两个数组和的程序,用CPU和GPU分别运算,计算运算时间,并且校验最后的运算结果.文中代码偏多,原理建议阅读下面文章,文中介绍了OpenCL相关名词概念. http://opencl. ...

  4. 建立 Python 虚拟环境

    1.1 安装依赖包 $ yum -y install wget gcc epel-release git 1.2 安装 Python3.6和pip $ yum -y install python36 ...

  5. leetcode26_C++删除排序数组中的重复项

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...

  6. 算法笔记(c++)--桶排序题目

    算法笔记(c++)--桶排序 记得题目是排序,输入n个1-1000的数字然后去重然后排序. 桶排序没毛病 #include<iostream> using namespace std; i ...

  7. c# 读取blob数据

    Stream stream = new MemoryStream(data); BinaryReader r = new BinaryReader(stream); int iRawImageWidt ...

  8. map的默认排序和自定义排序

    STL的容器map为我们处理有序key-value形式数据提供了非常大的便利,由于内部红黑树结构的存储,查找的时间复杂度为O(log2N). 一般而言,使用map的时候直接采取map<typen ...

  9. (三)MySQL终极篇

    1.索引 详细介绍:http://www.cnblogs.com/57rongjielong/p/8039452.html 索引是对数据库表中一个或多个列的值进行排序的结构.索引是经过某种算法优化过的 ...

  10. 软工网络15团队作业4-DAY8

    每日例会 昨天的工作. 张陈东芳:可导入部分类信息,继续尝试将所有信息导入: 吴敏烽:商品类的规范化编写: 周汉麟:界面的排版继续优化: 林振斌:按照浏览历史,次数等,继续优化商品类排序: 李智:研究 ...