1、mysql数据库的数据目录结构
查看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数据库的数据目录结构的更多相关文章
- 导入导出Mysql数据库、表结构、表数据
由sql文件导入 mysql -uusername -ppwd < ./abc.sql 导出整个数据库的表结构 mysqldump -uroot -pdbpasswd -d dbname > ...
- Navicat工具导出mySQL数据库某个视图结构的.sql脚本
用Navicat工具怎么都导不出来mySQL数据库的某个视图.sql脚本,即使导出来也只是包含视图记录,不包含视图结构.经过一番研究,终于克服,操作如下: 1.在某个数据库中,新建备份,如下图 2.选 ...
- 用Entity Framework 来创建MySql数据库和表结构
1. 创建VS工程 2.添加新项, 选中ADO.Net Entity Data Model模板 3.填入Host及数据库名字, 如果没有此数据库, 会提示创建 4.添加edmx后, 右击选择属性,配置 ...
- MySQL数据库的存储结构
--把若干条sql语句封装起来,起个名字,叫做过程,也是没有返回值的函数 --把这个过程存储在数据库中->存储过程 --存储过程的创建过程 create procedure proceduceN ...
- xshell下mysql数据库只导出表结构不导出数据
操作系统:linux: 使用软件:xshell.winscp 进入系统之后输入命令: mysqldump -u 用户名 - p 密码 -d 数据库名 > aaa.sql 注意字符间的空格. 之后 ...
- 从Mysql数据库中导入导出表结构
1.从Mysql数据库中导入sql表 很简单,只需要一个命令即可搞定:[root@localhost ~]# mysql -uroot -piweb_xxx_mysql iweb < modif ...
- 一个漂亮的输出MySql数据库表结构的PHP页面
经常为了方便和直观,我们会首先直接在数据库中设计出表,但是接下来又要将表的结构和设计编写在设计文档中,以便编码的时候可以直观的查询,一旦数据库表非常多,字段非常多的时候,这无疑是件非常郁闷的工作. 这 ...
- MySQL数据库和InnoDB存储引擎文件
参数文件 当MySQL示例启动时,数据库会先去读一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等.在默认情况下,MySQL实例会按照一定 ...
- MySQL数据库“十宗罪”(十大经典错误案例)
Top 1: Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行) 问题还原 1 2 3 4 5 6 mysql> show variables lik ...
随机推荐
- jsp include html 乱码问题
感谢大佬:https://blog.csdn.net/sessionsong/article/details/38778853 在使用<%@ include page=""% ...
- Java线程--LockSupport使用
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11871805.html Java线程--LockSupport使用 public static ...
- 浅谈Java中重写与重载的区别
重载和重写是Java中两个截然不同的概念.但是却因为名字相近导致很多人经常混淆. 下面用例子展示出他们之间的区别. 在Java中,重载(overloading) 发生在本类.方法名相同,参数列表不同, ...
- 降维处理PCA
要理解什么是降维,书上给出了一个很好但是有点抽象的例子. 说,看电视的时候屏幕上有成百上千万的像素点,那么其实每个画面都是一个上千万维度的数据:但是我们在观看的时候大脑自动把电视里面的场景放在我们所能 ...
- Solution -「LOCAL」「cov. HDU 6816」折纸游戏
\(\mathcal{Description}\) Link(削弱版). \(n\) 张纸叠在一起对折 \(k\) 次,然后从上到下为每层的正反两面写上数字,求把纸重新摊平后每张纸上的数字序列 ...
- Vue2.0源码学习(3) - 组件的创建和patch过程
组件化 组件化是vue的另一个核心思想,所谓的组件化就,就是说把页面拆分成多个组件(component),每个组件依赖的css.js.图片等资源放在一起开发和维护.组件是资源独立的,在内部系统中是可以 ...
- 私有化轻量级持续集成部署方案--05-持续部署服务-Drone(上)
提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记 持续部署概述 持续部署是能以自动化方式,频繁而且持续性的,将软件部署到生产环境.使软件产品能够快速迭代. 在之前部署 ...
- 1、Oauth概念与模式
参考 OAuth 2.0 的一个简单解释
- Consul安装启动
1.安装 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp ...
- vmware 16 pro 安装macos
VMware 16 安装 MAC OS 10.13 原版(详细图文教程)关于虚拟机安装苹果系统的教程网络上有很多, 有些适合自己, 有些则不适合(教程中的版本老旧或工具资源消失), 在安装成功后选择用 ...