查看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. mui禁止滚动条和禁止滚动
  2. Dynamic CRM 2015学习笔记 系列汇总
  3. [转载]WiFi有死角? 巧用旧无线路由器扩展覆盖
  4. jsp中的out对象 和 servlet中的response.getOutputStream()
  5. 总结Selenium自动化测试方法(三)WebDriver定位元素方法
  6. js 字符串扩展
  7. [HDU 1430] 魔板
  8. linux kernel API and google android compile guide
  9. bzoj 3626 [LNOI2014]LCA(离线处理+树链剖分,线段树)
  10. /etc/motd and /etc/issue
  11. 使用断言assert
  12. css三种布局方式
  13. String.getBytes()--->字符串转字节数组
  14. axios介绍与使用说明 axios中文文档
  15. 2、Linux常用功能
  16. Java 输入流(一)ByteArrayInputStream
  17. ELK-elkstack-使用消息队列
  18. 英语进阶系列-A03-英语升级练习一
  19. js对json字符串和json对象的转换
  20. Vue运行报错--not defined

热门文章

  1. linux中vim编辑器三种模式及常用命令的使用
  2. MySQL事务以及存储引擎
  3. hgame-week3-web-wp
  4. 基于GDAL库海洋表温日平均计算工具设计与实现 C++版
  5. Solution -「多校联训」古老的序列问题
  6. etcd受损节点重新加入集群
  7. 怎么说服领导,能让我用DDD架构肝项目?
  8. MySQL是怎么保证redo log和binlog是完整的?
  9. tomcat 上传文件权限不足
  10. PhpStudy集成环境安装教程