查看mysql的主要目录结构

通过命名查看mysql的目录结构:find / -name mysql

1.1数据库文件的存放路径

MySQL数据库文件的存放路径:/var/lib/mysql/

1.2相关命令的存放路径

相关命令目录:/usr/bin和/usr/sbin。

/usr/bin目录



/usr/sbin目录



启动命令能读取的配置文件选项组

1.3配置文件目录

配置文件目录:/usr/share/mysql(命令及配置文件)和 /etc(如my.cnf)

/usr/share/mysql(命令及配置文件)



/etc目录

数据库和文件系统的关系

数据库的文件信息会存在磁盘上,文件系统来管理这些文件信息。

2.1查看默认的数据库

查看命令:SHOW DATABASES;

  • mysql:MySQL系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。
  • information_schema:MySQL系统自带的数据库,这个数据库保存着MySQL服务器维护的所有其他数据库的信息 ,比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些信息并不是真实的用户数据,而是一些描述性信息,有时候也称之为 元数据 。在系统数据库information_schema 中提供了一些以innodb_sys 开头的表,用于表示内部系统表。
  • performance_schema:MySQL系统自带的数据库,这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,可以用来监控MySQL服务的各类性能指标 。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等信息。
  • sys:MySQL系统自带的数据库,这个数据库主要是通过视图的形式把information_schema和performance_schema结合起来,帮助系统管理员和开发人员监控MySQL的技术性能。

2.2数据库在文件系统中的表示

使用create database 数据库名语句创建一个数据库的时候,在数据库目录/var/lib/mysql下会创建一个和数据库同名的子目录。

除了information_schema这个系统数据库外,其他的数据库在数据目录下都有对应的子目录。

2.3表在文件系统中的标识

使用数据库a中的表b描述在INNODB和MYISAM中的区别。

  • db.opt:存储的是数据库的字符集和比较规则
  • ibdata1:系统表空间,存储数据和索引信息
  • b.frm:描述的是表结构文件、字段长度
  • b.xxx.sdi:描述的是表结构文件、字段长度
  • b.idb:独立表空间,存储数据和索引信息
  • b.MYD(MYDATA):存储数据信息
  • b.MYI(MYINDEX):存储索引信息

在INNODB中:聚簇索引(数据和索引在一起)

  • mysql5.5.7(包括)至mysql5.6.6(不包括)版本:使用的是系统表空间

    存在的文件:db.opt、b.frm、ibdata1
  • mysql5.6.6(包括)至mysql5.7(包括)版本:使用的是独立表空间

    存在的文件:db.opt、b.frm、b.idb
  • mysql5.7(不包括)至mysql8.0(不包括)版本:使用的是独立表空间

    存在的文件:b.frm、b.idb
  • mysql8.0以及之后的版本(把frm的信息合并到idb中)

    存在的文件:b.idb

    在b.idb文件的目录下执行以下命令:idb2sdi --dump-flie=b.txt b.idb(查看b.txt存在表结构信息)

在MYISAM中:非聚簇索引(数据和索引不在一起)

  • mysql5.5.7(包括)至mysql5.6.6(不包括)版本:使用的是系统表空间

    存在的文件:db.opt、b.frm、ibdata1
  • mysql5.6.6(包括)至mysql5.7(包括)版本:使用的是独立表空间

    存在的文件:db.opt、b.frm、b.MYD、b.MYI
  • mysql5.7(不包括)至mysql8.0(不包括)版本:使用的是独立表空间

    存在的文件:b.frm、b.MYD、b.MYI
  • mysql8.0以及之后的版本(把frm的信息移动到sdi)

    存在的文件:b.xxx.sdi、b.MYD、b.MYI

1、mysql数据库的数据目录结构的更多相关文章

  1. 导入导出Mysql数据库、表结构、表数据

    由sql文件导入 mysql -uusername -ppwd < ./abc.sql 导出整个数据库的表结构 mysqldump -uroot -pdbpasswd -d dbname > ...

  2. Navicat工具导出mySQL数据库某个视图结构的.sql脚本

    用Navicat工具怎么都导不出来mySQL数据库的某个视图.sql脚本,即使导出来也只是包含视图记录,不包含视图结构.经过一番研究,终于克服,操作如下: 1.在某个数据库中,新建备份,如下图 2.选 ...

  3. 用Entity Framework 来创建MySql数据库和表结构

    1. 创建VS工程 2.添加新项, 选中ADO.Net Entity Data Model模板 3.填入Host及数据库名字, 如果没有此数据库, 会提示创建 4.添加edmx后, 右击选择属性,配置 ...

  4. MySQL数据库的存储结构

    --把若干条sql语句封装起来,起个名字,叫做过程,也是没有返回值的函数 --把这个过程存储在数据库中->存储过程 --存储过程的创建过程 create procedure proceduceN ...

  5. xshell下mysql数据库只导出表结构不导出数据

    操作系统:linux: 使用软件:xshell.winscp 进入系统之后输入命令: mysqldump -u 用户名 - p 密码 -d 数据库名 > aaa.sql 注意字符间的空格. 之后 ...

  6. 从Mysql数据库中导入导出表结构

    1.从Mysql数据库中导入sql表 很简单,只需要一个命令即可搞定:[root@localhost ~]# mysql -uroot -piweb_xxx_mysql iweb < modif ...

  7. 一个漂亮的输出MySql数据库表结构的PHP页面

    经常为了方便和直观,我们会首先直接在数据库中设计出表,但是接下来又要将表的结构和设计编写在设计文档中,以便编码的时候可以直观的查询,一旦数据库表非常多,字段非常多的时候,这无疑是件非常郁闷的工作. 这 ...

  8. MySQL数据库和InnoDB存储引擎文件

    参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...

  9. MySQL数据库“十宗罪”(十大经典错误案例)

    Top  1: Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行) 问题还原 1 2 3 4 5 6 mysql> show variables lik ...

随机推荐

  1. linux中shell变量$#等的释义

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: 1. $$ Shell本身的PID(ProcessID) 2. $! Shell最后运行的后台Process的PID 3 ...

  2. docker基础——5.Dockerfile

    把应用部署在容器中,改变了用文本文件保存配置信息的方式.而通过传环境变量配置. Dockerfile是一个文本文件,包括容器的指令.按顺序从上到下执行,第一行非注释指令必须是FROM指定基础镜像. D ...

  3. 无xml文件的springMVC

    使用springMVC我们一般都会在web.xml中配置一个dispatcher,现在我们基于用java代码的方式来使用springMVC import org.springframework.con ...

  4. CentOS8安装启用telnet服务

    CentOS8默认只安装telnet的客户端,其服务端telnet-server由于安全原因由用户自主选择安装.下面为实践安装启动telnet-server,注意其与vsftp服务安装的异同. 1.查 ...

  5. 微信小程序常见两种登陆注册方式(一)

    普通登录注册以及用户授权登陆 普通登陆注册 概述 此功能的实现简单的借助了微信小程序的云开发,具体在哪里使用,我会标出来.对于用户名.账号.密码都做了简单的校验.主要练手功能的实现,样式只做了简单的编 ...

  6. Failed to restart ssh.service: Unit not found.

    环境 操作系统:CentOS 7 问题 重启ssh服务,启动报错:Failed to restart ssh.service: Unit not found. 操作步骤 1. 编辑sshd_confi ...

  7. 一、Java 特性和运行机制

    目录 Java 特性和优势 Java应用程序的运行机制 JVM.JRE和JDK Java 特性和优势 跨平台/可移植性 核心优势.比如:Java的int型永远是32位,C++(16,32). 安全性 ...

  8. jmeter非gui之shell脚本

    非gui运行脚本,如果目录非空,会报不能写的错 可以通过shell脚本来处理: #!/bin/bash filename=`date +'%Y%m%d%H%M%S'` if [ -d /root/te ...

  9. 网络测试技术——802.1X原理

    一.以太网优点缺点 1.以太网优点 (1)即插即用,简单快捷 (2)任何一台电脑只要接入网络便有访问网络资源的权限 2.以太网缺点 (1)缺乏安全认证机制(二层) (2)电脑接到交换机上就能访问网络 ...

  10. OpenStack学习系列之十二:安装ceph并对接OpenStack

        Ceph 是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.Ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环境中,通常 ...