第二十章:MySQL的数据目录

news2024/11/25 18:35:44

第二十章:MySQL的数据目录

20.1:MySQL8的主要目录结构

安装好mysql后,可以使用如下命令查看含有相关mysql的文件。

find / -name mysql
# 数据库文件的存放路径
# /var/lib/mysql

# mysql数据库文件
# /var/lib/mysql/mysql 

# /etc/logrotate.d/mysql
# /etc/selinux/targeted/tmp/modules/100/mysql
# /etc/selinux/targeted/active/modules/100/mysql

# 相关命令目录
# /usr/bin/mysql
# /usr/lib64/mysql
  1. 数据库文件的存放路径

    show variables like 'datadir';
    /*
    +---------------+-----------------+
    | Variable_name |   Value         |
    +---------------+-----------------+
    | datadir       | /var/lib/mysql/ |
    +---------------+-----------------+
    */
    
  2. 相关命令目录

    /usr/bin/usr/sbin
    在这里插入图片描述

  3. 配置文件目录

    /usr/share/mysql-8.0(命令及配置文件)/etc/mysql(如my.cnf)

20.2:数据库和文件系统的关系

  1. 查看默认数据库

    MySQL自带有4个默认的数据:

    • mysql

      MySQL系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程、事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息以及时区信息等。

    • information_schema

      MySQL系统自带的数据库,这个数据库保存着MySQL服务器维护的所有其他数据库的信息【列、表、视图、触发器、索引】,这些信息并不是真实的用户数据,而是一些描述性信息,有时候也称之为元数据。

    • performance_schema

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

    • sys

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

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

    • MySQL8.0中查看数据库的文件,发现只有一个表名.idb【这一个文件中包括了表的结构和表的数据】
      在这里插入图片描述

    • MySQL5.7中查看数据库的文件,发现会有一个db.opt【记录数据的信息】、以及表名.frm【记录表的结构】、表名.idb【记录表的数据】文件。
      在这里插入图片描述

  3. 表再文件系统中的表示

    • InnoDB存储引擎模式

      1. 表结构

        为了保存表结构,InnoDB数据目录下对应的数据库子目录下创建了一个专门用于 描述表结构的文件 ,文件名是这样表名.frm

      2. 表中数据和索引

        • 系统表空间(system tablespace)

          ​ 默认情况下,InnoDB会在数据目录下创建一个名为ibdata1、大小为12M的文件,这个文件就是对应的系统表空间在文件系统上的表示。怎么才12M?注意这个文件是自扩展文件,当不够用的时候它会自己增加文件大小。

          ​ 当然,如果你想让系统表空间对应文件系统上多个实际文件,或者仅仅觉得原来的ibdata1这个文件名难听,那可以在MySQL启动时配置对应的文件路径以及它们的大小,比如我们这样修改一下my.cnf 配置文件:

          [server]
          innodb_data_file_path=data1:512M;data2:512M:autoextend
          
        • 独立表空间(file-per-table-tablespace)

          ​ 在MySQL5.6.6以及之后的版本中,InnoDB并不会默认的把各个表的数据存储到系统表空间中,而是为每一个表建立一个独立表空间 ,也就是说我们创建了多少个表,就有多少个独立表空间。使用独立表空间来存储表数据的话,会在该表所属数据库对应的子目录下创建一个表示该独立表空间的文件,文件名和表名相同,只不过添加了一个.ibd的扩展名而已,所以完整的文件名称长这样:表名.idb

        • 系统表空间与独立表空间的设置

          ​ 我们可以自己指定使用系统表空间还是独立表空间来存储数据,这个功能由启动参数innodb_file_per_table控制,比如说我们想刻意将表数据都存储到系统表空间时,可以在启动MySQL服务器的时候这样配置:

          [server]
          innodb_file_per_table=0 # 0:代表使用系统表空间; 1:代表使用独立表空间
          
        • 其他类型的表空间

          ​ 随着MySQL的发展,除了上述两种老牌表空间之外,现在还新提出了一些不同类型的表空间,比如通用表空间(general tablespace)、临时表空间(temporary tablespace)等。

    • MyISAM存储引擎模式

      1. 表结构

        ​ 在存储表结构方面,MyISAMInnoDB一样,也是在数据目录下对应的数据库子目录下创建了一个专门用于描述表结构的文件:表名.frm

      2. 表中数据和索引

        ​ 在MyISAM中的索引全部都是二级索引,该存储引擎的数据和索引是分开存放的。所以在文件系统中也是使用不同的文件来存储数据文件和索引文件,同时表数据都存放在对应的数据库子目录下。假如test表使用MyISAM存储引擎的话,那么在它所在数据库对应的atguigu目录下会为test表创建这三个文件:

        test.frm  存储表结构
        test.MYD  存储数据 (MYData)
        test.MYI  存储索引 (MYIndex)
        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743101.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决Material UI引入button按钮后英文字符被自动转化成全大写

目录 前言一、解决方法总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 环境&#xff1a; angularjs 1.4.3 material ui 1.1.4 问题描述 在引入<button>按钮的时候&#xff0c;带入了material 的按钮样式&#xff0c;导致了问题&#xff…

【Linux】- 常用指令和运行级别

运行级别 1.1&#x1f69e;指定运行级别1.2&#x1f68a;帮助指令1.3&#x1f694;文件目录类指令2.1 **ls 指令**2.2 **cd 指令**2.3 **mkdir 指令**2.4 **rmdir 指令**3.1 **touch 指令**3.2 **cp 指令**3.3 **rm 指令**3.4 **mv 指令**4.1 **cat 指令**4.2 **more 指令**4.3…

[QT编程系列-2]:C++图形用户界面编程,QT框架快速入门培训 - 1- 预备知识

目录 概述 1. 前置条件 1.1 C 1.2 图形界面 1.3 图形程序集成开发环境 1.4 图形程序开发框架 1.5 跨平台特性 1.6 QT快速感知 1.6.1 QT的典型应用 1.6.2 QT的特点 1.6.3 QT跨平台集成开发环境 1.6.4 QT是一种UI开发框架 1.6.5 QT的主要函数库 概述 1. 前置条件 学习…

解析三防平板在工业自动化的应用价值

三防平板作为一种具有出色性能和特殊设计的电子设备&#xff0c;为工业自动化领域带来了巨大的应用价值。采用英特尔凌动四核处理器&#xff0c;三防平板具备先进的技术与处理能力。同时配备Window 10操作系统&#xff0c;这款三防平板能够轻松执行多种任务指令。此外&#xff…

高数笔记3(第一章函数 极限 连续-极限的计算1)

目录 三、极限的计算概括&#xff08;1&#xff09;利用四则运算法则求极限常用的结论&#xff08;***&#xff09;未定式的分类以及做法&#xff08;***&#xff09;**例33 &#xff08;93 数三&#xff09;注意负无穷** &#xff08;2&#xff09;利用两个重要极限求极限&…

springboot结合疫情情况的婚恋系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven…

DataFrame.pivot()--Pandas

1. 函数功能 通过指定的行、列重塑数据&#xff0c;进行行列转换 2. 函数语法 DataFrame.pivot(*, columns, indextyping.Literal[<no_default>], valuestyping.Literal[<no_default>])3. 函数参数 参数含义columns用于分组的列名&#xff0c;出现在透视表的列…

插入排序法解析

插入排序法解析 什么是插入排序法 插入排序法是一种简单但有效的排序算法&#xff0c;其基本思想是将一个待排序的元素逐个插入到已经排好序的元素序列中&#xff0c;直至所有元素都被插入完成&#xff0c;从而得到一个有序序列。 具体步骤如下&#xff1a; 假设初始时&…

EasyCVR开启强制重置密码后页面显示异常的问题优化

EasyCVR基于云边端协同架构&#xff0c;可支持多协议、多类型的海量设备接入与分发&#xff0c;平台既具备传统安防视频监控的能力&#xff0c;也具备接入AI智能分析的能力&#xff0c;在线下均有大量应用。 近期我们对EasyCVR平台的安全性进行了技术升级&#xff0c;平台将默认…

Linux:rsync

一款快速增量备份工具【Remote Sync&#xff0c;远程同步】 远程灾难备份功能 *支持本地复制&#xff0c;或者与其他SSH、rsync主机同步 配置rsync源服务器【rsync同步源】 *指备份操作的远程服务器&#xff0c;也称为备份源 web服务器本地有服务器&#xff0c;IDC机房有备…

postman每次请求前获取token并保存到环境变量

文章目录 创建一个tab&#xff0c;写上接口地址&#xff0c;json类型的参数&#xff0c;点击send&#xff0c;返回成功。 点击Environment&#xff0c;新建dev环境&#xff0c;创建token变量 编写Tests脚本 // 获取响应的token值 var responseJson pm.response?.json()…

《TCP IP网络编程》第三章

2023.7.10 第3章、地址族与数据序列 3.1 分配给套接字的IP地址与端口号 IP 是 Internet Protocol&#xff08;网络协议&#xff09;的简写&#xff0c;是为收发网络数据而分配给计算机的值。端口号并非赋予计算机的值&#xff0c;而是为了区分程序中创建的套接字而分配给套接字…

激活函数 | 神经网络

1 为什么使用激活函数&#xff08;Activation Function&#xff09; 1.数据角度&#xff1a; 由于数据是线性不可分的&#xff0c;如果采用线性化&#xff0c;那么需要复杂的线性组合去逼近问题&#xff0c;因此需要非线性变换对数据分布进行重新映射; 2.线性模型的表达力问题…

python flask server 接收post数据注意

前面写了两篇文章&#xff0c;结果错误不少&#xff0c;经过修正&#xff0c;改了很多错误 1 跨域 加上以下两条 from flask_cors import CORS from flask_cors import cross_origin以下让整个全景跨域 CORS(app, supports_credentialsTrue)2 secret_key 加上secret_key 防…

系列五、RocketMQ集群搭建

一、概览 二、集群特点 2.1、NameServer NameServer是一个几乎无状态节点&#xff0c;可集群部署&#xff0c;节点之间无任何信息同步。 2.2、Broker Broker部署相对复杂&#xff0c;Broker分为Master与Slave&#xff0c;一个Master可以对应多个Slave&#xff0c;但是一个Sla…

客户端是win10远程连接ubuntu后图形化执行程序verdi

一、安装xlaunch 1.1 搜索vcxsrv安装即可 1.2 对vcx进行配置&#xff0c;参考 将ubuntu终端打开的GUI图形界面窗口显示在windows上_heusjh的博客-CSDN博客https://blog.csdn.net/m0_51194302/article/details/128768284#:~:text%E5%B0%86ubuntu%E7%BB%88%E7%AB%AF%E6%89%93%…

天翎MyApps低代码平台案例分享—百川信保安服务综合管理系统

项目背景&#xff1a;百川信&#xff08;北京&#xff09;信息服务有限公司&#xff08;以下简称“百川信”&#xff09;成立于2014年&#xff0c;是一家专注于为安保行业提供高效、全场景、智能化协同办公管理与服务的科技公司。作为国内领先的数字安保解决方案与应用服务提供…

winform去掉最小化后左下角窗口,托盘处理

去掉如图的窗口&#xff1b; public partial class FormZpenSample : Form{public FormZpenSample(){InitializeComponent();#region 托盘处理//隐藏ui this.WindowState FormWindowState.Minimized;//隐藏任务栏区图标this.ShowInTaskbar false;//不显示this.Hide();//图标显…

masm32 链接问题

当我参考资料学习Windows环境下32位汇编时&#xff0c;编译倒没什么问题&#xff0c;可是链接就不对了。 网上也没找到解决办法&#xff0c;经过后来思考了一下&#xff0c;会不会是link.exe这个玩意有问题&#xff1f;比如有多个&#xff1f; 所以使用link的绝对路径试了一下…

使用json-server 模拟后端数据

1. json-server是什么 json-server 是一个 Node 模块&#xff0c;运行 Express 服务器&#xff0c;你可以指定一个 json 文件作为 api 的数据源。 简单的说&#xff0c;它可以模拟小型后台接口&#xff0c;在一个JSON文件中操作数据&#xff0c;是基于的node.js的一个模块。 比…