zoukankan      html  css  js  c++  java
  • mysql数据库的备份与恢复

    一.备份数据

    1.mysqldump命令可以将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。这些CREATE语句和INSERT语句都是还原时使用的。还原数据时就可以使用其中的CREATE语句来创建表。使用其中的INSERT语句来还原数据。
        1.备份一个数据库
        2.备份多个数据库
        3.备份所有数据库

    2.mysqldump命令可以备份数据库中的数据。但是,备份时是在备份文件中保存了CREATE语句和INSERT语句。不仅如此,mysqldump命令还可以导出文本文件。其基本的语法形式如下:
    mysqldump -uuser -pPassword dbname table [option] > xx.sql;

    3.Mysqldump常用参数:
    • --all-databases , -A 导出全部数据库
    • --add-drop-database 每个数据库创建之前添加drop数据库语句
    • --no-data, -d 不导出任何数据,只导出数据库表结构。
    • --no-create-db, -n只导出数据,而不添加CREATE DATABASE 语句。
    • --no-create-info, -t 只导出数据,而不添加CREATE TABLE 语句。

    4.导出所有数据库的所有表数据
    mysqldump -ulepus -p123456 -A > /tmp/all.sql
    • 导出bugfree数据库中所有数据,不包括表结构
    mysqldump -ulepus -p123456 bugfree -n -t > a.sql
    • 导出bugfree数据库中所有的表结构,不包括数据
    mysqldump -ulepus -p123456 bugfree -d > b.sql
    • 导出bugfree数据库中所有的bug信息
    mysqldump -ulepus -p123456 bugfree bf_bug_info -n -t > bug.sql

    二.恢复数据

    1.恢复刚才备份的bugfree数据库中的数据
    mysql –ulepus –p123456 bugfree < bugfree.sql
    • 恢复刚才备份的所有数据库的数据
    mysql –ulepus –p123456 < all.sql
    • 这种方式除了恢复数据还可以用来批量执行sql,比如说有一个比较大的sql文件需要执行,在可视化工具中打开再去执行就比较麻烦,可以使用这种方式来执行。

    三.备份数据库脚本

    1.在学习linux的时候我们已经学习过怎么写shell脚本,现在我们要每天的1点自动备份一下所有的数据库,把备份的文件已当天的日期命名,放到/usr/local/db_back目录下

    #!/bin/bash
    file_name=`date +%Y%m%d%H%M%S`
    db_path='/usr/local/db_back/'
    mysqldump -ulepus -p123456 -A >${db_path}${file_name}_all.sql
    echo "backup ok"

     

  • 相关阅读:
    选择下拉列表,出现不同数据,并计算
    获取td中的数据,保留两位小数重新赋值
    登录注册验证插件
    JS中的call、apply、bind方法详解
    超多经典 canvas 实例,动态离子背景、移动炫彩小球、贪吃蛇、坦克大战、是男人就下100层、心形文字等等等
    js实现冒泡排序
    C# 平方、开方、保留小数 运算
    T4模板循环生成插入语句
    JS数字金额转为大写金额
    Authentication method 'caching_sha2_password' not supported by any of the available plugins.
  • 原文地址:https://www.cnblogs.com/mululu/p/9050775.html
Copyright © 2011-2022 走看看