zoukankan      html  css  js  c++  java
  • mysql数据备份

    一、逻辑备份

    1、使用mysqldump命令备份

     mysqldump是mysql数据库非常有用的备份命令,可以将数据库备份成一个文本文件。里边是create和insert语句,使用这些语句可以重新创建表和数据。语法格式如下:

    mysqldump -u user -h host -p passwd dbname [tabname,tabname..] > filename.sql

    (1)、使用mysqldump备份单个数据库的所有表

    mysqldump -u root -p test > /home/backup/test.sql

    (2)、使用mysqldump备份某个库中的单个表

    mysqldump -u root -p test t_count > /home/backup/t_count.sql

    (3)、使用mysql备份多个数据库

    mysql -u root -p --database test test1 > /home/backup/test_test1.sql    # 备份多个库
    mysql -u root -p --all-database >
    /home/backup/all.sql # 备份所有数据库

     2、mysqldump命令的常用参数解释

    -A 备份所有数据库,不备份information_schema  performance_schema和sysz这是mysql自己进行维护的        mysqldump -u root -p111111 -A > all.sql
    --add-drop-database 在创建库之前先执行删库操作
    --add-drop-table 在建表之前先执行删表操作 如果默认开启了该参数,可以用--skip-add-drop-table来使它不生效
    --add-drop-trigger 在建立触发器之前先执行删除操作
    --add-locks 在执行insert语句之前添加锁
    --compact 用来减少冗长的输出,实用于调试
    -B --databases 用于备份多个数据库,在导出的SQL中会添加 use dbname;
    --default-character-set 设置默认字符集
    -F --fulsh-logs 备份前刷新服务器的日志文件,备份多个库为每个备份的库都刷新
    -x, --lock-all-tables  锁定所有库的所有表
    -l --lock-tables    锁定所有表,只允许读操作
    --master-data 将二进制日志信息写到备份文件中,值为1写入,值为2写入之后处于被注释掉的状态
    -t 只备份数据
    -d 只备份表结构
    --single-transaction  在InnoDB引擎中使用,在一个事务里备份所有表

     3、分库备份,将MySQL里的所有库进行备份,一个库单独生成一个文件,可以通过shell脚本写for循环来实现。也可以用shell命令完成

    二、物理备份

    1、mysql的存储为文件方式,所有可以直接数据库的存储目录及数据文件进行备份。这是一种简单有效的备份方式,要保持备份的一致性。备份前需要对相关别哦执行LOCK TABLES操作,然后对表执行FLUSH TABLES操作。这样在复制文件时,允许其它客户继续查询表。flush语句确保备份前将所有激活的索引页写入硬盘。这种方法对于InnoDB引擎不适用,如果使用不能版本的数据库也可能不兼容。

    三、数据恢复

    1、mysql -u user -p passwd  dbname  <  dbname.sql  通过该命令对丢失的数据进行恢复

    2、也可以登陆到mysql数据库的命令行界面,执行 source dbname.sql

    3、如果是物理恢复,直接拷贝数据库的文件到data文件夹下即可

  • 相关阅读:
    CodeForces 7B
    CodeForces 4D
    离散化
    线段树入门
    洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)
    Codeforces 1295D Same GCDs (欧拉函数)
    Codeforces 1295C Obtain The String (二分)
    Codeforces 1295B Infinite Prefixes
    Codeforces 1295A Display The Number(思维)
    Codeforces 1294F Three Paths on a Tree(树的直径,思维)
  • 原文地址:https://www.cnblogs.com/jkin/p/10115096.html
Copyright © 2011-2022 走看看