zoukankan      html  css  js  c++  java
  • mysqldump备份恢复

    数据库的备份恢复是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

  • 相关阅读:
    代码历险记2
    入园第一天打卡 滴滴
    Spring事务传播属性介绍(三).Nested
    Spring事务内方法调用自身事务 增强的三种方式
    Spring Aop AfterReturning接收返回值
    Spring Aop 注解方式参数传递
    Spring报错:Exception in thread "main" java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source)
    Autowired使用说明
    在Linux驱动中使用input子系统
    高通UEFI中的I2C的方式读取TP的id
  • 原文地址:https://www.cnblogs.com/martinzhang/p/3454337.html
Copyright © 2011-2022 走看看