MySQL 备份 索引 视图

目录

1.备份

        1.1.备份的类型:

                1.1.1根据服务器的状态 可以分为 热备份 温备份 冷备份:

               1.1.2 从对象来分,可以分为物理备份与逻辑备份:

                1.1.3从数据收集来分,可以完全备份、增量备份、差异备份:

         1.2 逻辑备份的优缺点:

                优点:

                缺点:

        1.3备份的内容  

        1.4备份工具

        1.5.示例

2.索引

 2.1.分类:

 2.2索引的优缺点:

 2.3索引的创建规则:

 2.4.创建索引:

  2.4.1普通索引:

  2.4.2 创建唯一性索引

  2.4.3 创建单列索引

  2.4.4 创建组合索引

   2.4.5创建全文索引

   2.4.6查询索引

   2.4.7 查询某张表中索引情况

  2.4.8 使用计划查询SQL使用索引情况

   2.4.9删除索引

 2.5 示例:

 3.视图

 3.1 视图的作用:

 3.2 视图的优点:

 3.3视图的使用规则:

 3.4创建视图:

3.5删除视图:

3.6示例:

 4.存储过程和存储函数:



1.备份

        在数据库中尽管采取了一定的措施来预防数据的丢失,但是并不能确定数据的意外丢失,列如意外的停电,管理人员的操作失误造成了数据的丢失。所以为了保证数据的安全性,就需要做定期的备份,以至于把损失降到最低,MySQL提供了多种的方法来备份和恢复。

        1.1.备份的类型:

                1.1.1根据服务器的状态 可以分为 热备份 温备份 冷备份:

                                热备份:服务器的读写不受影响

                                温备份: 只能够执行读操作

                                冷备份:离线备份 读写均不能操作

               1.1.2 从对象来分,可以分为物理备份与逻辑备份:

                                物理备份:复制数据和文件

                                逻辑备份:将数据导出至文本文件

                1.1.3从数据收集来分,可以完全备份、增量备份、差异备份:

                                完全备份:备份全部数据;

                                增量备份:仅备份上次完全备份或增量备份以后变化的数据;

                                差异备份:仅备份上次完全备份以来变化的数据;

         1.2 逻辑备份的优缺点:

                优点:

                        在备份速度上两种备份要取决于不同的存储引擎

                        物理备份的还原速度非常快。但是物理备份的最小粒度只能做到表

                        逻辑备份保存的结构通常都是纯ASCII的,所以我们可以使用文本处理工具来处理

                        逻辑备份有非常强的兼容性,而物理备份则对版本要求非常高

                        逻辑备份也对保持数据的安全性有保证

                缺点:

                        逻辑备份要对RDBMS产生额外的压力,而裸备份无压力

                        逻辑备份的结果可能要比源文件更大。所以很多人都对备份的内容进行压缩

                        逻辑备份可能会丢失浮点数的精度信息   

        1.3备份的内容  

                        数据文件  日志文件  存储过程  配置文件

        1.4备份工具

                        mysqldump,是mysql数据库管理系统,自带的逻辑备份工具,支持所有引擎                                  MyISAM引擎是温备, InnoDB引擎是热备,备份速度中速,还原速度非常非常                               慢但是在实现还原的时候,具有很大的操作余 地。具有很好的弹性。(MySQL自                           带备份工具)

        1.5.示例

                

CREATE DATABASE booksDB; //创建数据库
    use booksDB;

    CREATE TABLE books    //创建表
    (
      bk_id  INT NOT NULL PRIMARY KEY,
      bk_title VARCHAR(50) NOT NULL,
      copyright YEAR NOT NULL
    );
    INSERT INTO books    //插入数据
    VALUES (11078, 'Learning MySQL', 2010),
    (11033, 'Study Html', 2011),
    (11035, 'How to use php', 2003),
    (11072, 'Teach youself javascript', 2005),
    (11028, 'Learing C++', 2005),
    (11069, 'MySQL professional', 2009),
    (11026, 'Guide to MySQL 5.5', 2008),
    (11041, 'Inside VC++', 2011);

    CREATE TABLE authors    
    (
      auth_id     INT NOT NULL PRIMARY KEY,
      auth_name  VARCHAR(20),
     auth_gender CHAR(1)
    );
    INSERT INTO authors  
    VALUES (1001, 'WriterX' ,'f'),
    (1002, 'WriterA' ,'f'),
    (1003, 'WriterB' ,'m'),
    (1004, 'WriterC' ,'f'),
    (1011, 'WriterD' ,'f'),
    (1012, 'WriterE' ,'m'),
    (1013, 'WriterF' ,'m'),
    (1014, 'WriterG' ,'f'),
    (1015, 'WriterH' ,'f');

    CREATE TABLE authorbook
    (
      auth_id  INT NOT NULL,
      bk_id   INT NOT NULL,
      PRIMARY KEY (auth_id, bk_id),
      FOREIGN KEY (auth_id) REFERENCES authors (auth_id),
      FOREIGN KEY (bk_id) REFERENCES books (bk_id)
    );

    INSERT INTO authorbook
    VALUES (1001, 11033), (1002, 11035), (1003, 11072), (1004, 11028),
    (1011, 11078), (1012, 11026), (1012, 11041), (1014, 11069);

    1、使用mysqldump命令备份数据库中的所有表
	[root@mysql ~]# mysqldump -uroot -pRedHat@123 booksDB > /booksDB.sql
	2、备份booksDB数据库中的books表
	[root@mysql ~]# mysqldump -uroot -pRedHat@123 booksDB books >/booksDB_bo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值