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

  • 相关阅读:
    Android Button上的文字自动变成大写,如何解决呢?
    如何在IamgeButton上面添加文字
    C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。
    解决android:background背景图片被拉伸问题
    service&thread
    MS SQLServer Update语法和实例
    ztree2.6给菜单增加title提示信息[转]
    UltraEdit-14.10.0.1024版本语法着色配置
    linux下c++动态库的生成及使用
    c++动态库与静态库
  • 原文地址:https://www.cnblogs.com/jkin/p/10115096.html
Copyright © 2020-2023  润新知