MYSQL 文件目录,数据库的存储文件目录

  • 客户端以及其他可执行文件目录:
/usr/bin/

mysql
    客户端
    TIPS:
        最好不要在一行命令中输入密码,因为history、ps等命令可以看到
        各个参数顺序没有规定
mysql_config_editor
mysql_migrate_keyring
mysql_secure_installation
mysql_ssl_rsa_setup
mysql_tzinfo_to_sql
mysql_upgrade
mysqladmin
mysqlbinlog
mysqlcheck
mysqld_multi
    服务端,运行多进程实例
mysqld_safe
    一个服务端启动脚本,会间接调用mysqld并持续监控服务器的运行状态,当服务器出现错误时,
    还可以帮助重启服务器程序。另外会将服务器的错误信息和其他诊断信息输出到错误日志。
mysqldump
mysqldumpslow
mysqlimport
mysqlpump
mysqlshow
mysqlslap
  • 配置文件目录:
/etc/mysql/

conf.d
my.cnf
  • 服务器目录:
/usr/sbin/

mysqld  
    少用,常用mysqld_safe

  • 数据目录:(重要,存放运行数据,日志等)

        ·可以通过命令 SHOW VARIABLES LIKE 'datadir' 获取

         我们知道,每当使用SQL创建一个数据库, CREATE DATABASE 库名,会发生啥呢?答案就在数据目录中。查看数据目录 /var/lib/mysql 发现除了一堆不知道啥的文件外,还有一些文件夹,而这些和数据库同名的文件夹就是对应数据库的数据目录。

        比如使用MYSQL创建了一个 demo_db数据库:

CREATE DATABASE demo_db;

        数据目录下多了一个demo_db文件夹

        刚开始,数据库是空的,对应文件夹也是空。进去 demo_db 验证一下:

root@d11c0fd324ed:/var/lib/mysql/demo_db# ls -lh 
total 0

        现在我们创建一张表,应该会看到增加了一个idb文件

use demo_db;
CREATE TABLE IF NOT EXISTS demo_tb(
	 `id` INT UNSIGNED AUTO_INCREMENT,
	PRIMARY KEY ( `id` )
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE "utf8_general_ci";

 

         请注意,我的MySQL版本是8.0,所以才只有 表名.idb 文件,5.7以及以下版本应该有两个文件,分别是:

  • 表名.frm        # 对应表结构定义文件
  • 表名.idb        # 对应表数据文件 

        8.0版本没有frm文件是因为ORACLE把这两文件合并了。你们可以自行查阅文章学习怎么解析:.frm在MySQL8中不存在了,那去哪里了呢?

        我们知道InnoDB是以页为单位来管理存储空间的,每页默认16K,每个索引其实是一颗B+树,每棵树中的一个节点为一个数据页,页之间使用双向链表链接,树的叶子节点为用户记录。

        为了更好的管理这些页,InnoDB为每张表创建一个表空间,表空间是一个逻辑概念,对应一个或者多个文件,而这些 idb 文件正是组成了表空间。

  • 库文件目录:
/usr/lib/mysql
  • 错误消息和字符集文件目录:
/usr/share/mysql

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值