zoukankan      html  css  js  c++  java
  • mysql中的数据备份与还原

    一、有三种备份方式:

      1. 数据表文件备份

      2. 单表数据备份

      3. SQL备份

      4. 增量备份

    二、mysql中的存储引擎

      主要有两种:myisam 和 innodb.  -- 免费的

      其他收费的还有:BDB, Memory, Archive

      innodb的存储方式:表结构单独存放,所有数据都存储在ibdata1文件中。

      myisam的存储方式:表、数据和索引全部单独分开存储。

      

    二、数据表文件备份与还原

      直接复制数据库目录下的文件夹复制对应的表结构和数据文件,还原的时候直接放回去即可。

      但是此方法根据不同的存储引擎有不同的区别:

      innodb下,因为除了表结构外其他数据都在ibdata1文件中,所以还原到本来的数据库可以,跨数据库时表将不能使用。

      myisam下,因为表、数据和索引全部单独分开存储,所以只需要复制这三个文件,就可以在任意数据库进行还原使用。

    三、单表数据备份与还原

      1. 数据备份

        每次只能备份一张表,且只能备份数据,不能备份表结构。通常用于导出数据到文件。

        select */字段列表 into outfile '文件路径' [fields 字段处理 lines 行处理] from 数据源;  -- 文件不存在才能导出

        fields字段处理:

          enclosed by: 字段使用什么内容包裹,默认为'';

          terminated by: 字段使用什么内容结束,默认为' ';

          escaped by: 特殊符号用什么方式处理,默认'\' 反斜杠转义;

        lines行处理:

          starting by: 每行以什么开始,默认为'';

          terminated by: 每行以什么结束,默认为换行符;

        示例:

    1 select * into outfile 'D:BaiduNetdiskDownloadmysqlclass.sql' 
    2 fields terminated by '---' enclosed by '"' 
    3 lines starting by 'be:' terminated by 'ed
    '
    4 from my_class;

      2. 数据还原

        必须保证表结构存在,才能进行数据还原。

        lode data infile '文件路径' into table 表名 fields 字段处理 lines 行处理;  -- 怎么备份的,就怎么还原

        示例:

    1 load data infile 'D:BaiduNetdiskDownloadmysqlclass.sql' into table my_class
    2 fields terminated by '---' enclosed by '"' 
    3 lines starting by 'be:' terminated by 'ed
    ';

    三、 SQL备份

      1.数据备份

         备份的是SQL语句,需要使用mysql提供的mysqldump.exe软件。

         mysqldump/mysqldump.exe -hPup 数据库名 [表名1[,表名2...]] > 外部文件路径  -- 可以多表备份, 如果不写表名,表示整库备份

     mysqldump -uroot -p jdbc my_student > D:BaiduNetdiskDownloadmysqlstudent.sql -- 单表备份
     
     mysqldump -uroot -p jdbc> D:BaiduNetdiskDownloadmysqljdbc.sql -- 整库备份

      2. 数据还原

        ① 使用mysql客户端还原:

        mysql.ext/mysql -hPup 数据库名< 备份文件路径

        

    mysql -uroot -p jdbc < D:BaiduNetdiskDownloadmysqlstudent.sql

        ②使用SQL指令还原:

        source 备份文件路径;

    source D:BaiduNetdiskDownloadmysqlstudent.sql;

    四、增量备份

      此方式针对mysql服务器的日志文件进行备份,可以指定时间段进行备份,因此备份数据不会重复,并且中间的操作过程也会备份。

  • 相关阅读:
    React antd的select框的onchange事件 只能点击一次 如果想选中的值 还可以被点击 就用onselect事件
    formatTime.js
    typeScript
    React react-router在url参数不同的情况下跳转页面不更新
    React 组件
    三、猜字符小游戏
    二、Java学习之方法
    Java学习之数组
    JavaWeb的学习--第五天 javascript03
    JavaWeb的学习--第四天 javascript02
  • 原文地址:https://www.cnblogs.com/pengyin/p/6383735.html
Copyright © 2011-2022 走看看