Rumah pangkalan data tutorial mysql [MySQL]数据目录的组织架构_MySQL

[MySQL]数据目录的组织架构_MySQL

Jun 01, 2016 pm 01:28 PM
sistem pengendalian perisian

bitsCN.com

[MySQL]数据目录的组织架构

 

归根到底,MySQL是运行在操作系统上的一个软件,它需要借助于文件系统存储数据,本文主要介绍MySQL数据目录的组织架构。

 

数据目录的位置

可以通过以下几个方法查看MySQL数据目录的位置:

1)对于一个正在运行的MySQL服务器来说,可以通过查看mysqld的进程获取MySQL数据目录的位置,如下所示:

1

[plain][root@lx202 /data/mysql/data ]# ps -ef|grep mysqld  root      5841  7337  0 15:09 pts/1    00:00:00 grep --color=auto mysqld  root     27034     1  0  2012 ?        00:00:00 /bin/sh /opt/mysql/bin/mysqld_safe --datadir=/data/mysql/data --pid-file=/data/mysql/data/lx202.pid  mysql    27889 27034 30  2012 ?        111-03:03:55 /opt/mysql/bin/mysqld --basedir=/opt/mysql --datadir=/data/mysql/data --plugin-dir=/opt/mysql/lib/mysql/plugin --user=mysql --log-error=/data/mysql/log/alert.log --open-files-limit=65535 --pid-file=/data/mysql/data/lx202.pid --socket=/opt/mysql/run/mysql.sock --port=3306

Salin selepas log masuk

其中的--datadir指定的就是数据目录的位置。

2)查看my.cnf的配置信息:

1

[plain] [mysqld]  datadir = /data/mysql/data

Salin selepas log masuk

3)登陆数据库,运行show variables命令查看:

1

[sql] mysql> show variables like 'datadir';  +---------------+-------------------+  | Variable_name | Value             |  +---------------+-------------------+  | datadir       | /data/mysql/data/ |   +---------------+-------------------+  1 row in set (0.00 sec)

Salin selepas log masuk

数据库在文件系统的表示方法

MySQL里,每个数据库都对应一个数据目录里的一个字目录,当你用create database db_name语句创建一个数据库时,将在数据目录下创建一个同名的子目录,在该子目录下,有一个db.opt文件,用于记录数据库默认的字符集和排序方式,如下所示:

1

[plain] [root@lx202 /data/mysql/data/portal ]# cat db.opt  default-character-set=utf8  default-collation=utf8_general_ci

Salin selepas log masuk

表在文件系统的表示方式

因为MySQL支持多个存储引擎,所以表在文件系统的表示方式根据存储引擎的不同而不同。但无论哪种存储引擎,每个表至少对应一个同名的.frm文件,该文件用于描述表结构信息。除了.frm文件之外,各个存储引擎用于存储数据的文件各不相同,下面我们介绍几种常见的存储引擎:

MyISAM

- table_name.MYD:数据文件

- table_name.MYI:索引文件

MERGE

- table_name.MRG:文本文件

InnoDB

InnoDB表的存储是基于表空间的,有两种类型的表空间:

1)共享表空间:由数据目录里的一个或多个大文件构成,这些文件共同组成了一个在逻辑上连续不断的存储区域,共享表空间是通过参数innodb_data_file_path设置的,如下所示:

1

[plain] innodb_data_file_path = ibdata1:10G;ibdata2:5G:autoextend

Salin selepas log masuk

根据上面的配置,将在数据目录下创建两个文件ibdata1和ibdata2来存放innodb的数据。

2)独占表空间:当设置innodb_file_per_table = 1后,每个表对对应一个单独使用的表空间文件.ibd(在其对应的数据库目录下)

这里需要注意的是:即使你配置了独占表空间,共享表空间也是需要的,因为InnoDB的数据字典必须存放在共享表空间里。

视图和触发器在文件系统的表示方式

每个视图包含一个.frm文件,它包含该视图的定义和属性等。

触发器保存在一个.TRG文件里,里面包含着它的定义和属性,但文件不是以触发器命名,而是以触发器相关联的表命名。

存储过程和函数在文件系统的表示方法

MySQL的存储过程和函数分别存放在mysql数据库目录的proc*和func*文件里,如:

1

[plain] [root@lx202 /data/mysql/data/mysql ]# ls proc*  proc.frm  proc.MYD  proc.MYI  procs_priv.frm  procs_priv.MYD  procs_priv.MYI  [root@lx202 /data/mysql/data/mysql ]# ls func*  func.frm  func.MYD  func.MYI

Salin selepas log masuk

 


bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek Feb 19, 2025 pm 04:54 PM

DeepSeek Web Versi Pintu Masuk Laman Web Rasmi DeepSeek

Cara Memasang DeepSeek Cara Memasang DeepSeek Feb 19, 2025 pm 05:48 PM

Cara Memasang DeepSeek

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi?

Mengapa pautan Bybit Exchange tidak dimuat turun dan dipasang secara langsung? Mengapa pautan Bybit Exchange tidak dimuat turun dan dipasang secara langsung? Feb 21, 2025 pm 10:57 PM

Mengapa pautan Bybit Exchange tidak dimuat turun dan dipasang secara langsung?

Gate Yishou App Muat Turun Laman Web Rasmi Gate.io App Muat turun Rasmi Gate Yishou App Muat Turun Laman Web Rasmi Gate.io App Muat turun Rasmi Feb 21, 2025 pm 02:54 PM

Gate Yishou App Muat Turun Laman Web Rasmi Gate.io App Muat turun Rasmi

Pintu Masuk Laman Web Rasmi Software COINSUPER Exchange Pintu Masuk Laman Web Rasmi Software COINSUPER Exchange Feb 21, 2025 pm 10:39 PM

Pintu Masuk Laman Web Rasmi Software COINSUPER Exchange

Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025) Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025) Feb 21, 2025 pm 08:42 PM

Pemasangan Laman Web Rasmi Bitget (Panduan Pemula 2025)

Tutorial Model R1 DeepSeek Local Local R1 Tutorial Model R1 DeepSeek Local Local R1 Feb 19, 2025 pm 03:51 PM

Tutorial Model R1 DeepSeek Local Local R1

See all articles