zoukankan      html  css  js  c++  java
  • mysql的数据文件

    在mysql的启动参数中可以看到,表空间数据文件存放路径如下:
    --datadir=/var/lib/mysql
    进入到上述目录看下:
    [root@VM-75-68 ~]# cd /var/lib/mysql/
    [root@VM-75-68 mysql]# ll
    total 628424
    -rw-rw----. 1 mysql mysql        56 May 17 20:46 auto.cnf
    -rw-rw----. 1 mysql mysql  79691776 Sep 11 20:34 ibdata1
    -rw-rw----. 1 mysql mysql 268435456 Sep 11 20:34 ib_logfile0
    -rw-rw----. 1 mysql mysql 268435456 May 17 20:46 ib_logfile1
    -rw-rw----. 1 mysql mysql       132 Oct  9 09:59 master.info
    drwx------. 2 mysql mysql      4096 May 17 20:46 mysql
    -rw-rw----. 1 mysql mysql      2160 May 21 03:53 mysql-bin.000001
    -rw-rw----. 1 mysql mysql     43064 Jul 24 01:42 mysql-bin.000002
    -rw-rw----. 1 mysql mysql      3909 Jul 25 00:19 mysql-bin.000003
    -rw-rw----. 1 mysql mysql       143 Jul 25 00:31 mysql-bin.000004
    -rw-rw----. 1 mysql mysql       143 Sep  9 23:32 mysql-bin.000005
    -rw-rw----. 1 mysql mysql      2694 Sep 12 01:07 mysql-bin.000006
    -rw-rw----. 1 mysql mysql       989 Sep 12 01:22 mysql-bin.000007
    -rw-rw----. 1 mysql mysql      9134 Sep 11 20:30 mysql-bin.000008
    -rw-rw----. 1 mysql mysql       787 Sep 11 20:35 mysql-bin.000009
    -rw-rw----. 1 mysql mysql       120 Sep 11 20:35 mysql-bin.000010
    -rw-rw----. 1 mysql mysql       190 Sep 11 20:35 mysql-bin.index
    srwxrwxrwx. 1 mysql mysql         0 Sep 11 20:30 mysql.sock
    drwx------. 2 mysql mysql      4096 Sep  9 23:32 ossec
    drwx------. 2 mysql mysql      4096 May 17 20:46 performance_schema
    drwx------. 2 mysql mysql      4096 Jul 25 00:38 relay
    -rw-rw----. 1 mysql mysql        69 Sep 11 20:30 relay-log.info
    drwx------. 2 mysql mysql      4096 Sep 12 01:38 RW
    drwx------. 2 mysql mysql      4096 May 21 03:58 test
    -rw-rw----. 1 root  root       3063 Sep 12 03:24 test.sql
    -rw-rw----. 1 mysql mysql         6 Sep 11 20:30 VM-75-68.pid
    -rw-rw----. 1 mysql mysql       176 Sep 11 20:30 VM-75-68-relay-bin.000016
    -rw-rw----. 1 mysql mysql  26767993 Sep 11 20:35 VM-75-68-relay-bin.000017
    -rw-rw----. 1 mysql mysql       236 Sep 11 20:35 VM-75-68-relay-bin.000018
    -rw-rw----. 1 mysql mysql        84 Sep 11 20:35 VM-75-68-relay-bin.index
    drwx------. 2 mysql mysql     12288 Sep  9 23:32 zabbix
     
    当使用innodb存储引擎时,如果再配置文件中 没有配置innodb_file_per_table,默认情况下,所有库中的所有使用innodb存储引擎的表示数据都存在‘ibdata1’这个文件中,表的数据信息和索引信息都存储在ibdata1中,但是如果开启了innodb_file_per_table参数,表示每个innodb表类型的表使用单独的表空间数据文件。
     
    这里我们看到有mysql、test、zabbix、RW、relay、ossec等数据库,我们看下:
    [root@VM-75-68 mysql]# cd RW
    [root@VM-75-68 RW]# ll
    total 344
    -rw-rw----. 1 mysql mysql   8682 Sep 12 01:38 account00.frm
    -rw-rw----. 1 mysql mysql  98304 Sep 12 01:38 account00.ibd
    -rw-rw----. 1 mysql mysql   8682 Sep 12 01:38 account01.frm
    -rw-rw----. 1 mysql mysql  98304 Sep 12 01:38 account01.ibd
    -rw-rw----. 1 mysql mysql     61 Jul 25 04:31 db.opt
    -rw-rw----. 1 mysql mysql   8640 Sep 12 01:38 T.frm
    -rw-rw----. 1 mysql mysql 114688 Sep 11 20:34 T.ibd
    这是RW数据库里的数据文件,可以看到每张表都有两种后缀文件,分别为frm后缀和ibd后缀:
    frm:存储的是表的结构数据;
    ibd:存储了表的数据信息和索引信息。
     
    如果在配置中没有开启innodb_file_per_table参数,在数据库对应的目录里不会出现‘.ibd’为后缀的文件,因为默认情况下会使用ibdata1,如果一开始没有开启参数,并且已经存在某些使用innodb类型的表,那么这些表将公用ibdata1,如果这时开启了参数,那么原来的数据仍然在ibdata1中,新创建的表才会使用单独的以‘.ibd’为后缀的表空间文件。
     
    看完了innodb,再看下MyISAM类型的表空间文件,默认的mysql库大部分表都是使用MyISAM的表类型,我们进去看看:
    [root@VM-75-68 mysql]# cd mysql
    [root@VM-75-68 mysql]# ll
    total 24040
    -rw-rw----. 1 mysql mysql     8820 May 17 20:46 columns_priv.frm
    -rw-rw----. 1 mysql mysql        0 May 17 20:46 columns_priv.MYD
    -rw-rw----. 1 mysql mysql     4096 May 17 20:46 columns_priv.MYI
    -rw-rw----. 1 mysql mysql     9582 May 17 20:46 db.frm
    -rw-rw----. 1 mysql mysql      880 May 17 20:46 db.MYD
    -rw-rw----. 1 mysql mysql     5120 May 17 20:46 db.MYI
    -rw-rw----. 1 mysql mysql    10223 May 17 20:46 event.frm
    -rw-rw----. 1 mysql mysql        0 May 17 20:46 event.MYD
    -rw-rw----. 1 mysql mysql     2048 May 17 20:46 event.MYI
    -rw-rw----. 1 mysql mysql     8665 May 17 20:46 func.frm
    -rw-rw----. 1 mysql mysql        0 May 17 20:46 func.MYD
    -rw-rw----. 1 mysql mysql     1024 May 17 20:46 func.MYI
     
    我们看到如果使用MyISAM类型的存储引擎,每张表会有三个后缀名文件,分别是.frm、.MYD、.MYI:
    .frm:存放表结构信息
    .MYD:存放数据信息
    .MYI:存放索引信息
     
    感觉知道这些东西没啥用,也可能是笔者还没用到,多知道点总是好的,共勉!
     
     
  • 相关阅读:
    a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。
    +=
    map 和reduce
    赋值语句
    高阶函数
    函数式编程
    迭代器
    如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
    ie11升级的过程中遇到的问题以及解决办法
    .csporj 文件部分节点解析
  • 原文地址:https://www.cnblogs.com/storyawine/p/13598171.html
Copyright © 2011-2022 走看看