小编给大家分享一下MySQL中建表DATA DIRECTORY 、INDEX DIRECTORY有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

介绍:

MySQL创建表默认在放在datadir路径下,当datadir空间不足时,可再建表时指定DATA DIRECTORY、INDEX DIRECTORY将新表数据存在其他磁盘例如:/data/lottery/;

提示:

1、INNODB 表要是独立表空间(innodb_file_per_table=1)。

2、目前只有5.6后才支持单表指定目录,且目录是mysql:mysql。

3、在Windows中将忽略DATA DIRECTORY和INDEX DIRECTORY选项

4、DATA/INDEXDIRECTORY不支持开启skip-symbolic-links参数;http://www.51edu.com/it/bckf/117508.html

5、普通表DATA/INDEXDIRECTORY只在建表时指定,不可以alter table更改;

分区表可alter addPARTITIONS dataDIRECTORY....

实验:

MYSQL> CREATE TABLE t_1 engine=innodb DATA DIRECTORY="/data/lottery/" INDEXDIRECTORY="/data/lottery/" as select * from zabbix.history;

系统层查看/data/lottery/

[root@localhost test]# ll /data/db/test/t_1.*

-rw-rw---- 1 mysql mysql 17070 3月 31 15:06 /data/db/test/t_1.frm

-rw-rw---- 1 mysql mysql 24 3月 31 15:06 /data/db/test/t_1.isl

[root@localhost test]#

--文件中的内容指向了上面的.ibd文件,实际这就相当于是一个连接

[root@localhosttest]#cat /data/db/test/t_1.isl

/data/lottery/test/t_1.ibd

[root@localhosttest]# ll

-rw-rw---- 1 mysql mysql 212992 3月 31 15:06/data/lottery/test/t_1.ibd --->真正数据存放位置

[root@localhosttest]#

以上是“MySQL中建表DATA DIRECTORY 、INDEX DIRECTORY有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!