Heim > Datenbank > MySQL-Tutorial > InnoDB独立表空间

InnoDB独立表空间

WBOY
Freigeben: 2016-06-01 13:17:04
Original
1175 Leute haben es durchsucht

在查看MySQL的数据库文件的时候会发现,MyISAM存储引擎类型的表会有三个文件,*.frm,*.MYD,*.MYI,但是InnoDB存储引擎的文件只有一个*.frm,原来是因为InnoDB没有开启独立表空间,执行如下命令可以看到:

mysql> show variables like '%per%';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| innodb_file_per_table | OFF|+-----------------------+-------+1 row in set (0.00 sec)
Nach dem Login kopieren

导致InnoDB的所有表的数据都存储在sys/var/lib/mysql/ibdata1文件中,我这个文件已经有10G了,这样在对InnoDB的单个表做冷备份的时候就会备份很多无用的数据,所以需要开启独立表空间。

于是我这样做

mysql> set global innodb_file_per_table='ON';ERROR 1238 (HY000): Variable 'innodb_file_per_table' is a read only variable
Nach dem Login kopieren

原因应该是这个参数的含义是针对InnoDB存储引擎的,不能在一个会话中进行设置,于是查阅资料后

修改my.cnf,在[mysqld]模块下添加参数,这里注意值是1而不是ON,我一开始设成了ON,结果就是没成功

innodb_file_per_table=1
Nach dem Login kopieren

重启MySQL,再看一下这个变量的值

<br>mysql> show variables like '%per%';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| innodb_file_per_table | ON|+-----------------------+-------+1 row in set (0.00 sec)
Nach dem Login kopieren

可以看到这个变量已经被设置成功了

在这里我开始往表里面插入数据,想看一下怎么独立存储的,可是在mysql目录下执行命令

ll -rt
Nach dem Login kopieren

发现

-rwxrwx--- 1 mysql mysql 102110330884月 27 16:01 ibdata1-rwxrwx--- 1 mysql mysql 52428804月 27 16:01 ib_logfile0-rwxrwx--- 1 mysql mysql 52428804月 27 16:01 ib_logfile1
Nach dem Login kopieren

这三个文件是随着插入语句的执行而实时更新时间的,但是大小却没变。为什么?难道说是因为数据在缓存里,这样的话修改时间就不会不变,想到之前看的《MySQL技术内幕》中说的,应该是重复利用之前的页来存储了,回去翻书确认一下。MARK

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage