MySQL学习-数据目录(一)

143 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情

前言

上篇我们学习完了MySQL中的字符集。有兴趣的小伙伴可以阅读(# MySQL学习-字符集(二))。
下面我们继续学习MySQL中的数据目录。

MySQL的数据目录

在linux系统中,我们可以通过以下指令,查看MySQL的目录

find / -name mysql

数据库文件的存放路径

使用以下语法查看:

SHOW VARIABLES LIKE 'datadir';
Variable_nameValue
datadir/var/lib/mysql

从结果中可以看出,数据库存放文件的目录是/var/lib/mysql。

相关命令目录

相关命令的目录在:/usr/bin中,包含(mysqladmin、mysqlbinlog、mysqldump等命令)。

配置文件目录

配置文件目录:/usr/share/mysql。其中包含命令和配置文件。/etc/mysql:其中包含如my.cnf文件。

数据库和文件系统的关系

查看默认数据库

查看当前服务器上有哪些数据库: SHOW DATABASE;可以看到4个数据库是属于MySQL自带的系统数据库。

  • mysql:MySQL系统自带的核心数据库,它存储了MySQL的用户账户和权限信息,一些存储过程,事件的定义信息,一些运行过程中产生的日志信息,一些帮助信息和时区信息等。
  • information_schema:MySQL系统自带的数据库,这个数据库保存着MySQL服务器维护的所有其他数据库的信息,比如有哪些表,哪些视图,哪些触发器,哪些列,哪些索引。这些信息并不是真实的用户数据,而是一些描述信息,有时候也称之为元数据。还提供了一些以innodb_sys开头的表,用于表示内部系统表。
  • performance_schema:MySQL系统自带的数据库,这个数据库里主要保存MySQL服务器运行过程中的一些状态信息,可以用来监控MySQL服务的各类型性能指标。包括统计最近执行了哪些语句,在执行过程的每个阶段都花费了多长时间,内存的使用情况等信息。
  • sys:MySQL系统自带的数据库,这个数据库主要是通过视图的形式把information_schema和performance_schema结合起来,帮助系统管理员和开发人员监控MySQL的技术性能。

查看数据库在文件系统的位置

位置在/var/lib/mysql中,这个数据目录下的文件和子目录比较多,除了information_schema这个系统数据库外,其他的数据库在数据目录下都有对应的子目录。

今天先学习到这里,明天继续。