MYSQL02高级_目录结构、默认数据库、表文件、系统独立表空间

2023-11-05

①. MySQL目录结构

  • ①. 如何查看关联mysql目录
[root@mysql8 ~]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/etc/selinux/targeted/tmp/modules/100/mysql
/etc/selinux/targeted/active/modules/100/mysql
/etc/logrotate.d/mysql
/usr/lib64/mysql
/usr/bin/mysql
[root@mysql8 ~]# 
  • ②. 数据库文件存放路径为:/var/lib/mysql/
  1. MYSQL服务器程序在启动时会到文件系统的某个目录下加载一些文件,之后在运行过程中产生的数据也都会存储到这个目录下的某些文件中,这个目录就称为数据目录
  2. 数据目录对应着一个系统变量datadir,我们在使用客户端与服务器建立连接之后查看这个系统变量的值就可以了
mysql> show variables like 'datadir';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.05 sec)
[root@mysql8 mysql]# pwd
/var/lib/mysql
[root@mysql8 mysql]# ll
总用量 188888
-rw-r-----. 1 mysql mysql       56 1122 21:42 auto.cnf
-rw-r-----. 1 mysql mysql      350 55 21:09 binlog.000002
-rw-r-----. 1 mysql mysql     1907 57 19:19 binlog.000003
-rw-r-----. 1 mysql mysql      179 57 22:27 binlog.000004
-rw-r-----. 1 mysql mysql      156 512 20:45 binlog.000005
-rw-r-----. 1 mysql mysql       64 512 20:45 binlog.index
-rw-------. 1 mysql mysql     1676 1122 21:42 ca-key.pem
-rw-r--r--. 1 mysql mysql     1112 1122 21:42 ca.pem
-rw-r--r--. 1 mysql mysql     1112 1122 21:42 client-cert.pem
-rw-------. 1 mysql mysql     1676 1122 21:42 client-key.pem
drwxr-x---. 2 mysql mysql     4096 55 22:08 dbtest1
-rw-r-----. 1 mysql mysql   196608 512 20:47 #ib_16384_0.dblwr
-rw-r-----. 1 mysql mysql  8585216 1122 21:42 #ib_16384_1.dblwr
-rw-r-----. 1 mysql mysql     3557 57 22:27 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 512 20:45 ibdata1
-rw-r-----. 1 mysql mysql 50331648 512 20:47 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 1122 21:42 ib_logfile1
-rw-r-----. 1 mysql mysql 12582912 512 20:45 ibtmp1
drwxr-x---. 2 mysql mysql     4096 512 20:45 #innodb_temp
drwxr-x---. 2 mysql mysql     4096 1122 21:42 mysql
-rw-r-----. 1 mysql mysql 25165824 512 20:45 mysql.ibd
srwxrwxrwx. 1 mysql mysql        0 512 20:45 mysql.sock
-rw-------. 1 mysql mysql        5 512 20:45 mysql.sock.lock
drwxr-x---. 2 mysql mysql     4096 1122 21:42 performance_schema
-rw-------. 1 mysql mysql     1680 1122 21:42 private_key.pem
-rw-r--r--. 1 mysql mysql      452 1122 21:42 public_key.pem
-rw-r--r--. 1 mysql mysql     1112 1122 21:42 server-cert.pem
-rw-------. 1 mysql mysql     1680 1122 21:42 server-key.pem
drwxr-x---. 2 mysql mysql     4096 1122 21:42 sys
-rw-r-----. 1 mysql mysql 16777216 512 20:47 undo_001
-rw-r-----. 1 mysql mysql 16777216 512 20:47 undo_002
  • ③. 相关命令目录:/usr/bin(mysqladmin、mysqlbinlog、mysqldump等命令)和/usr/sbin
    在这里插入图片描述
  • ④. 配置文件目录:/usr/share/mysql-8.0(命令及配置文件)/etc - my.cnf

②. 查看默认数据库

  • ①. 查看默认的数据库
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)
  • ②. mysql:MySQL 系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等

  • ③. information_schema:MySQL系统自带的数据库,这个数据库保存着MySQL服务器 维护的所有其他数据库的信息 ,比如有哪些表、哪些视图、哪些触发器、哪些列、哪些索引。这些信息并不是真实的用户数据,而是一些描述性信息,有时候也称之为 元数据 。在系统数据库 information_schema中提供了一些以innodb_sys开头的表,用于表示内部系统表

  • ④. performance_schema:MySQL系统自带的数据库,这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,可以用来监控MySQL服务的各类性能指标 。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等信息

  • ⑤. sys:MySQL系统自带的数据库,这个数据库主要是通过视图的形式把information_schema和performance_schema结合起来,帮助系统管理员和开发人员监控 MySQL 的技术性能

③. MYSQL5.7和8表文件

  • ①. 对于innodb,对应的表有两个文件:.frm + .ibd,存储了表结构信息和表数据信息,db.opt的文件:这个文件描述了这个数据库的各种属性(比如字符集和比较规则是个啥)
    在这里插入图片描述

  • ②. 对于myisam存储引擎,会有三个文件,分别是上图的表结构信息 + 表数据信息 + 表索引信息
    在这里插入图片描述

  • ③. MYSQL8 - 对于innodb,对应的表只有了.ibd文件,存储了表结构信息和表数据信息

[root@mysql8 etc]# cd /var/lib/mysql
[root@mysql8 mysql]# ll
总用量 188888
-rw-r-----. 1 mysql mysql       56 1122 21:42 auto.cnf
-rw-r-----. 1 mysql mysql      350 55 21:09 binlog.000002
-rw-r-----. 1 mysql mysql     1907 57 19:19 binlog.000003
-rw-r-----. 1 mysql mysql      179 57 22:27 binlog.000004
-rw-r-----. 1 mysql mysql      156 512 20:45 binlog.000005
-rw-r-----. 1 mysql mysql       64 512 20:45 binlog.index
-rw-------. 1 mysql mysql     1676 1122 21:42 ca-key.pem
-rw-r--r--. 1 mysql mysql     1112 1122 21:42 ca.pem
-rw-r--r--. 1 mysql mysql     1112 1122 21:42 client-cert.pem
-rw-------. 1 mysql mysql     1676 1122 21:42 client-key.pem
drwxr-x---. 2 mysql mysql     4096 55 22:08 dbtest1
-rw-r-----. 1 mysql mysql   196608 512 20:47 #ib_16384_0.dblwr
-rw-r-----. 1 mysql mysql  8585216 1122 21:42 #ib_16384_1.dblwr
-rw-r-----. 1 mysql mysql     3557 57 22:27 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 512 20:45 ibdata1
-rw-r-----. 1 mysql mysql 50331648 512 20:47 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 1122 21:42 ib_logfile1
-rw-r-----. 1 mysql mysql 12582912 512 20:45 ibtmp1
drwxr-x---. 2 mysql mysql     4096 512 20:45 #innodb_temp
drwxr-x---. 2 mysql mysql     4096 1122 21:42 mysql
-rw-r-----. 1 mysql mysql 25165824 512 20:45 mysql.ibd
srwxrwxrwx. 1 mysql mysql        0 512 20:45 mysql.sock
-rw-------. 1 mysql mysql        5 512 20:45 mysql.sock.lock
drwxr-x---. 2 mysql mysql     4096 1122 21:42 performance_schema
-rw-------. 1 mysql mysql     1680 1122 21:42 private_key.pem
-rw-r--r--. 1 mysql mysql      452 1122 21:42 public_key.pem
-rw-r--r--. 1 mysql mysql     1112 1122 21:42 server-cert.pem
-rw-------. 1 mysql mysql     1680 1122 21:42 server-key.pem
drwxr-x---. 2 mysql mysql     4096 1122 21:42 sys
-rw-r-----. 1 mysql mysql 16777216 512 20:47 undo_001
-rw-r-----. 1 mysql mysql 16777216 512 20:47 undo_002
[root@mysql8 mysql]# cd dbtest1/
[root@mysql8 dbtest1]# ll
总用量 224
-rw-r-----. 1 mysql mysql 147456 55 21:46 ssm_shopping_cart.ibd
-rw-r-----. 1 mysql mysql 114688 55 22:08 test1.ibd
  • ④. MYSQL8 - 对于Myisam有三个文件生产
    在这里插入图片描述

③. 系统、独立表空间

  • ①. 系统表空间(system tablespace)
  1. 默认情况下,InnoDB会在数据目录下创建一个名为 ibdata1 、大小为 12M 的文件,这个文件就是对应的系统表空间 在文件系统上的表示。怎么才12M?注意这个文件是 自扩展文件 ,当不够用的时候它会自己增加文件大小
  2. 如果你想让系统表空间对应文件系统上多个实际文件,或者仅仅觉得原来的ibdata1这个文件名
    难听,那可以在MySQL启动时配置对应的文件路径以及它们的大小,比如我们这样修改一下my.cnf 配置文件
[server]
innodb_data_file_path=data1:512M;data2:512M:autoextend

在这里插入图片描述

  • ②. 独立表空间(file-per-table tablespace)
  1. 在MySQL5.6.6以及之后的版本中,InnoDB并不会默认的把各个表的数据存储到系统表空间中,而是为每一个表建立一个独立表空间 ,也就是说我们创建了多少个表,就有多少个独立表空间。使用独立表空间 来存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表名相同,只不过添加了一个.ibd 的扩展名而已,所以完整的文件名称长这样
  2. MYSQL5.7:比如:我们使用了独立表空间去存储数据库dbtest1下的test1表的话,那么在该表所在数据库对应的目录下会为test1表创建这两个文件:frm + idb文件
    在这里插入图片描述
  • ③. 系统表空间与独立表空间的设置
    我们可以自己指定使用系统表空间 还是 独立表空间来存储数据,这个功能由启动参数
    innodb_file_per_table 控制,比如说我们想刻意将表数据都存储到 系统表空间 时,可以在启动
    MySQL服务器的时候这样配置
[server]
innodb_file_per_table=0 # 0:代表使用系统表空间; 1:代表使用独立表空间
mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+
1 row in set (0.01 sec)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MYSQL02高级_目录结构、默认数据库、表文件、系统独立表空间 的相关文章

  • 仅运行相应源代码已更改的单元测试?

    我正在 Jenkins CI 服务器中运行单元测试和 Selenium 测试 众所周知 在大型项目中测试需要很长时间才能运行 Java 是否有一个工具 框架只能触发其源代码已更改的测试 这是因为并非每次对 SCM 的提交都会影响源代码的所有
  • 将 java 方法参数设置为最终参数

    那有什么区别final在下面的代码之间进行 将参数声明为有什么好处final public String changeTimezone Timestamp stamp Timezone fTz Timezone toTz return pu
  • Maven项目中的HDF5

    我正在尝试将 hdf hdf5lib H5 导入到 NetBeans 中的 Maven 项目中 它有这个作为导入行 import hdf hdf5lib H5 正如这里所建议的 https support hdfgroup org prod
  • 将更改(永久)保存在数组列表中?

    那可能吗 例如 用户将新的项目 元素添加到数组列表 缓冲读取器进程 中 并且肯定会发生更改 我的问题是 即使用户多次更改数组列表 它也可能会永久存在 即使他们关闭程序并再次打开它 它也会一直存在 注意 不使用 txt 很抱歉问这样的问题 但
  • 如何在 Java 中复制对象?

    考虑下面的代码 DummyBean dum new DummyBean dum setDummy foo System out println dum getDummy prints foo DummyBean dumtwo dum Sys
  • Java:Swing:设置JButton的位置

    我想实现以下布局 OK
  • Jboss EAP 7 - 如何从部署中排除隐式模块(javax.jms)?

    我没想到我会来到这里 但经过大量 Google 和 StackOverflow 搜索后 我来到了这里 这就是我的确切问题 https www linkedin com pulse tale two jars marco antonio al
  • 在 alpine / Jprofile 10 中运行 jpenable 时出现 UnsatisfiedLinkError

    当运行 jpenable 以允许在运行 JDK 8 的 alpine 3 3 容器中对 Jprofiler10 进行分析时 我收到 UnsatisfiedLinkError 异常 有任何想法吗 ERROR The agent could n
  • 相对重力

    我最近开始使用jMonkey引擎 这非常好 但我在尝试实现相对重力时陷入了困境 我想让行星彼此围绕轨道运行 不一定是完美的圆形轨道 取决于速度 所以每个对象都应该影响其他对象 我现在拥有的 关闭全球重力 bulletAppState get
  • java内存不足然后退出

    我有一个必须分析大文件的软件 限制输入或提供无限内存都不是一个选择 所以我必须忍受飞行的 OOME 因为 OOME 只杀死线程 所以我的软件运行在一些糟糕的状态 从外面看一切都很好 因为进程正在运行 但在内部却是脑死亡 我想拔掉它的插头 但
  • Spring Boot 中的服务限流能力

    有什么办法可以实现Spring中其余服务的服务限制能力 特别是Spring boot 这里的期望是 我的服务暴露于外界 目前每秒 分钟的服务调用数量没有限制 我们希望通过设置限制来控制这一点 我有一个替代选项 通过跟踪并发哈希映射或任何缓存
  • 致命异常:OkHttp 调度程序

    我在 Android 应用程序中使用 OkHttp 库向天气 API 发出 Web 请求 我已经实现了我的代码 但在执行请求时遇到了致命异常 我也已经在我的清单中添加了互联网权限 MainActivity java private Curr
  • 为什么找不到 getservletcontext?

    我正在尝试使用getServletContext getRealPath 但我不断收到此错误 cannot find symbol symbol method getServletContext location interface jav
  • 使用 SimpleDateFormat、Java 进行错误的日期解析

    我需要使用日期模式 yyyy MM dd 解析输入字符串中的日期 如果日期采用任何其他格式 则抛出错误 这是我解析日期的代码 private void validateDate throws MyException Date parsedD
  • Java 中有类似 .NET 的 NotImplementedException 的东西吗?

    有没有类似 NET 的东西NotImplementedException在Java中 康芒斯朗 http commons apache org proper commons lang javadocs api 2 6 org apache
  • 原子整数的compareandexchange()与compareandset()

    在研究 AtomicInteger 时 我发现这个 API 提供了两种方法 比较和交换 如果当前值被引用 则自动将该值设置为 newValue to 作为见证值 预期值 记忆效应为 由指定VarHandle compareAndExchan
  • CreateProcess error=206,运行 gwtCompile 时文件名或扩展名太长

    我的应用程序是一个 springboot gradle 应用程序 我的应用程序的一部分涉及使用 gradle 进行遗留 gwt 编译 它工作正常 但今天当我运行下面的 gradle 任务时 它显示 CreateProcess error 2
  • 如何使用 iBatis (myBatis) 的注释进行 IN 查询?

    我们只想在 MyBatis 中使用注释 我们确实在努力避免使用 xml 我们尝试使用 IN 子句 Select SELECT FROM blog WHERE id IN ids List
  • SWT StyledText 有高度限制吗?

    我正在尝试创建一个应用程序 其中包含在 ScrolledComposite 中显示的 StyledText 框 我在 StyledText 框中显示大量行时遇到困难 超过 2 550 行似乎会导致问题 StyledText 框本身不能有滚动
  • Spring - 使用存储过程时使用 simplejdbccall 进行批量更新

    我正在使用 spring jdbc 模板 使用存储过程创建记录 public Long create City obj SimpleJdbcCall jdbcCall new SimpleJdbcCall getJdbcTemplate g

随机推荐

  • C语言 程序 杨辉三角实现

    9 杨辉三角形 在屏幕上显示杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 问题分析与算法设计 杨辉三角形中的数 正是 x y 的N次方幂展开式各项的系数 本题作为程序设计中具有代表性的题
  • 【推荐】SpringMVC与JSON数据返回及异常处理机制的使用

    艳艳耶 个人主页 个人专栏 推荐 Spring与Mybatis集成整合 生活的理想 为了不断更新自己 1 JSON 在SpringMVC中 JSON数据返回通常是通过使用 ResponseBody 注解将Java对象转换为JSON格式 并直
  • JDBC编程

    程序运行的时候 往往需要存取数据 现代应用程序最基本 也是最广泛的数据存储就是关系数据库 Java为关系数据库定义了一套标准的访问接口 JDBC Java Database Connectivity JDBC简介 在介绍JDBC之前 先简单
  • 软件测试岗:惨不忍睹的阿里三面,幸好做足了准备,已拿30koffer

    三面大概九十分钟 问的东西很全面 需要做充足准备 就是除了概念以外问的有点懵逼了 呜呜呜 回来之后把这些题目做了一个分类并整理出答案 强迫症的我 狂补知识 分为软件测试基础 Python自动化 性能测试 安全测试等 接下来分享一下我的这阿里
  • Unity ECS记录

    参考 What are Blob Assets 参考 Converting scene data to DOTS 参考 unity dots packages 参考 unity entities package documents 前言 我
  • Onnx以及Onnx runtime

    一 ONNX简介 它是微软和Facebook提出的一种表示深度学习模型的开放格式 定义了一套独立于环境和平台的标准格式 二 ONNX作用 无论你使用什么样的训练框架来训练模型 比如TensorFlow Pytorch OneFlow Pad
  • c++基础练习题三

    1 按照商品价格降序输出商品信息 include
  • 【TensorRT】TensorRT 部署Yolov5模型(C++)

    TensorRT 部署Yolov5模型C 源码地址 1 TensorRT部署模型基本步骤 1 1 onnx模型转engine 1 2 读取本地模型 1 3 创建推理引擎 1 4 创建推理上下文 1 5 创建GPU显存缓冲区 1 6 配置输入
  • 计算机最高单价公式,CFA考试中计算器的三种最高频率的用法

    原标题 CFA考试中计算器的三种最高频率的用法 CFA考试中使用计算机的频率还是比较多的 但是你知道使用CFA考试中使用计算机最高频率的使用方法你知道吗 下边有小跃给大家分享一下在CFA考试中计算器的三种最高频的用法 CFA考试时只允许使用
  • 在OpenCV中使用Canny边缘检测

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 边缘检测是非常常见和广泛使用的图像处理 对于许多不同的计算机视觉应用非常必要 如数据提取 图像分割 在更细粒度的特征提取和模式识别中 它降低了图像中的噪声和细节数量 但保
  • dos进入mysql不记得密码_windos mysql 忘记密码,无密码登录,重新登录

    上一节的MySQL的配置安装里 并没有用到配置文件my ini 那在MYSQL8 0 13如何解决密码重置问题呢 我去网上搜了好多的资料都是改配置文件my ini的 后来终于找到了一条命令 操作步骤如下 1 打开命令窗口cmd 输入命令 n
  • Android开发学习【简单控件】

    Android开发学习 Day01 Android onCreate 详解 简单控件 文本显示 设置文本内容方式 设置文本的大小 设置文本的颜色 设置视图的宽高 直接设置 在代码中设置视图宽高 设置视图间距 设置视图的对齐方式 线性布局Li
  • 【深入理解C++】内存布局

    关于 C 的内存布局 网上说法不一 有人将其分为 4 4 4 区 也有人将其分为 5 5 5 区 不同的人分成的 5
  • 什么是JWT?

    在HTTP接口调用的时候 服务端经常需要对调用方做认证 以保证安全性 一种常见的认证方式是使用JWT Json Web Token 采用这种方式时 经常在header传入一个authorization字段 值为对应的jwt token 或者
  • python调用hive脚本_python 中写hive 脚本

    1 直接执行 sql脚本 import numpy as np import pandas as pd import lightgbm as lgb from pandas import DataFrame from sklearn mod
  • wkhtmltopdf 实现html 文档对象转换为pdf 文件核心功能代码

    环境说明 环境 windows10 客户端软件 wkhtmltopdf 记得配置wkhtmltopdf 全局环境变量 相关的安装步骤可以baidu或者google wkhtmltopdf 安装包已经上传csdn Java 核心功能代码 添加
  • javaweb 如何在前端根据数据画出图像曲线

    一个实现画板的程序 与我的项目没啥关系 发现一个实现图表的js程序 chartjs官网 我一会儿得学学 echarts的js的实例 唉 找不到一个好的方法 看了看echarts的官方文档 发现echarts确实非常强悍相比如chartjs来
  • 龙书笔记

    1 我们可以设置第四个参数w 当w设置为1时 为了让点可以恰当的转变 当w设置为0时 为了防止向量被平移 2 一个平面 n d 可以被当做一个4d向量来交换 将这个4D向量乘期望的变换矩阵的逆矩阵就可以了 3 顶点操作 并非所有的显卡都支持
  • 小程序练手

    上个星期学了一下小程序 然后写了一个项目练练手 主要实现了三个功能 实现文件的上传功能 实现评论功能 实现展示功能 这里记录一下云开发几个重要的点 首先的是文件的上传并预览 wxml
  • MYSQL02高级_目录结构、默认数据库、表文件、系统独立表空间

    文章目录 MySQL目录结构 查看默认数据库 MYSQL5 7和8表文件 系统 独立表空间 MySQL目录结构 如何查看关联mysql目录 root mysql8 find name mysql var lib mysql var lib