数据库的备份恢复是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. protobuf工程的编译以及使用

    一. 获取Protocol Buffer 1.1 获得源码 Github:ProtocolBuffer源码 Git clone之:git clone https://github.com/google ...

  2. Maven学习(九)-----定制库到Maven本地资源库

    这里有2个案例,需要手动发出Maven命令包括一个 jar 到 Maven 的本地资源库. 要使用的 jar 不存在于 Maven 的中心储存库中. 您创建了一个自定义的 jar ,而另一个 Mave ...

  3. Oracle数据库备份与还原命令

    http://www.2cto.com/database/201305/210262.html

  4. 用Micro:bit做床头灯

    这是一个非常简单的项目,给孩子们介绍感应和控制,使用光敏电阻LDR作为光线传感器和床头灯的LED. 这也介绍了模拟输入的概念.数字输入为ON或OFF.只有0和1两种可能的条件.仿真输入是一系列可能值中 ...

  5. jvm之GC知识点

    GCRoots:        虚拟机栈(栈帧中的局部变量表)引用的对象       方法区中静态属性引用的对象       方法去中常量引用的对象       本地方法栈中JNI(NATIVE方法) ...

  6. mac安装pkg 一直“正在验证” 卡着

    今天换了新mac, 但是之前wireshark(抓包工具) 不能用了 ,要安装Xquartz. 下载之后一直卡着, 网上找了半天没有解决方法. 最后我重启一下就好了... 重启一下. 2. 15款ma ...

  7. Vue-lazyload 的使用

    Vue 项目使用 Vue-lazyload 做图片懒加载. 下载 下载 Vue-lazyload 的包NPM包 npm install vue-lazyload --save 引入 在项目 main. ...

  8. 剑指offer-二维数组中的查找01

    题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...

  9. sqli-labs学习笔记 DAY2

    DAY2 sqli-labs lesson 2 手工注入 URL:http://localhost/sqli-labs-master/Less-2/ Parameter:id 注入点检测:id=2;– ...

  10. Windows下使用WinRAR命令自动备份文件

    最近有一个需求:为了防止数据丢失,每天对固定文件夹下的文件进行打包压缩备份. 解决办法:使用Windows的任务计划程序,每天执行一下压缩命令: Windows任务计划程序在这里就不再介绍了,网上有很 ...