Mysql之独立表空间和共享表空间

2019-01-14  本文已影响20人  sunpy

介绍

前面博客Mysql常用文件介绍了InnoDB采用表空间的方式存储数据。Mysql5.5版本默认配置情况下初始化一个12M的ibdata1文件。我们也可以根据需要设置多个,使用参数innodb_data_file_path来配置。

mysql> show variables like 'innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+
1 row in set (0.00 sec)

共享表空间:如果我们没有开启innodb_file_per_table参数那么数据将都会写入到ibdata1文件之中,如果超过了12M,那么还可以自动增长容量。

共享表空间.png
独立表空间:如果我们开启innodb_file_per_table参数那么表文件空间就会创建于自己的数据文件中,而非创建于共享表空间中。每个数据库会创建一个自己对应的独立表空间。
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| single-app-db      |
| sunpy-quartz       |
| sys                |
+--------------------+
6 rows in set (0.00 sec)
single-app-db数据库的独立表空间.png
[root@izuf6ea4rfo45y44oj74jhz mysql]# cd single\@002dapp\@002ddb/
[root@izuf6ea4rfo45y44oj74jhz single@002dapp@002ddb]# ll
total 253976
-rw-r----- 1 mysql mysql        61 Jan  5 18:16 db.opt
-rw-r----- 1 mysql mysql      8766 Jan  5 21:37 single_user.frm
-rw-r----- 1 mysql mysql 260046848 Jan 11 17:48 single_user.ibd
-rw-r----- 1 mysql mysql      1085 Jan 13 13:49 v.frm

说明:single_user.frm是定义的表结构的文件。single_user.ibd是表的索引文件和数据文件。

上一篇 下一篇

猜你喜欢

热点阅读