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文件夹下即可

  • 相关阅读:
    (转载)教你在PHP中使用全局变量
    (转载)遍历memcache中已缓存的key
    (转载)PHP_Memcache函数详解
    PHP去除空白字符
    (转载)用PHP正则表达式清除字符串的空白
    (转载)PHP静态方法
    (转载)PHP 动态生成表格
    (转载)PHP strtotime函数详解
    (转载)URL与URI的区别
    ldap集成confluence
  • 原文地址:https://www.cnblogs.com/jkin/p/10115096.html
Copyright © 2011-2022 走看看