• MySQL存储引擎


    存储引擎的介绍及基本管理

    一. 存储引擎介绍及基本管理


    1. 存储引擎种类

    InnoDB
    MyISAM  
    MRG_MyISAM
    CSV 
    MEMORY
    SEQUENCE
    Aria
    PERFORMANCE_SCHEMA 
    

    还可以使用第三方存储引擎

    插件类存储引擎, 实在表级别设定的

    MySQL 5.5 以后默认存储引擎innodb


    第三方存储引擎 TokuDB(mariadb 5.7自带) ------> zabbix等监控软件上使用这个存储引擎

    insert 操作, 比innodb快 2-3倍

    压缩比: 对数据的压缩比达到8-10倍, 而 innodb只有2-3倍


    2. Innodb存储引擎与MyISAM区别(面试题)


    Innodb MyISAM
    MVCC(多版本并发控制) 不支持
    锁(行级别) 锁(表级别)
    外键 不支持
    事务 不支持
    热备 温备
    CSR(断电时, 故障自动回复) 不支持

    3. 查看存储引擎

    show engines;
    show create table s19.city;
    select table_schema,table_name,engine from information_schema.tables where engine='innodb';
    select @@default_storage_engine;
    


    4. Innodb存储引擎物理存储方式介绍


    表空间(TBS)管理模式:

    • 独立表空间: 每个表单独使用表空间存储
    -rw-rw----. 1 mysql mysql      1675 10月  6 21:25 city.frm  ----->city表的列的相关信息
    -rw-rw----. 1 mysql mysql    114688 10月  6 21:25 city.ibd  ----->city表的数据和索引
    

    其中.ibd文件, 被称之为表空间数据文件


    • 共享表空间: 所有的表数据统一放在一起
    -rw-rw----. 1 mysql mysql  18874368 10月  7 17:24 ibdata1
    

    mysql5.5版本: 表默认管理模式是共享表空间

    mysql5.6版本以后: 表默认管理模式是独立表空间, 共享表空间也存在, 负责存一些系统表以及undo日志, tmp临时表

    一般在初始化数据的时候就配置好共享表空间

    /etc/my.cnf

    innodb_data_file_path=ibdata1:512M;ibdata2:512M;autoextend
    

    生产案例:

    zabbix使用的是mysql5.5, 默认是共享表空间, 过一段时间, ibdata1文件越来越大, zabbix很慢, 文件容量已经达到500G

    建议:

    1. 升级数据库到5.6或5.7版本
    2. 使用tokudb存储引擎
  • 相关阅读:
    CVE-2017-10271
    [GKCTF2020]cve版签到
    [GXYCTF2019]禁止套娃 无参数RCE
    [护网杯 2018]easy_tornado
    记两道xctf上的web进阶区 反序列化
    msf卸载win defender
    Cron表达式详解
    Linux ifconfig只有lo没有别的网络的问题
    记一道文件上传
    【解决】手机安卓已经导入burp证书,但仍提示此证书并非来自被信任的机构
  • 原文地址:https://www.cnblogs.com/cjwnb/p/11632663.html
Copyright © 2020-2023  润新知