MySQL 8.0 | 用户可自定义表空间

MySQL8.0自定义表空间:灵活性与数据管理优化
MySQL8.0引入了自定义表空间功能,允许用户通过ADDDATAFILE指定不同文件系统进行数据存储,增强数据扩展性和冷热数据分离能力。例如,可以使用HDD和SSD结合,实现高效存取并降低成本。这一改变使得MySQL在数据管理上更接近Oracle,提高了系统的灵活性和可维护性。

MySQL 8.0开始,用户可自定义表空间,语法如下:

参见官方链接:
https://dev.mysql.com/doc/refman/8.0/en/create-tablespace.html

CREATE [UNDO] TABLESPACE tablespace_name

  InnoDB and NDB:
    [ADD DATAFILE 'file_name']
    [AUTOEXTEND_SIZE [=] value]

  InnoDB only:
    [FILE_BLOCK_SIZE = value]
    [ENCRYPTION [=] {'Y' | 'N'}]

  NDB only:
    USE LOGFILE GROUP logfile_group   #自定义日志文件组,一般每组2个logfile
    [EXTENT_SIZE [=] extent_size]
    [INITIAL_SIZE [=] initial_size]
    [MAX_SIZE [=] max_size]           #单个文件最大size,最大是32G
    [NODEGROUP [=] nodegroup_id]
    [WAIT]
    [COMMENT [=] 'string']

  InnoDB and NDB:
    [ENGINE [=] engine_name]

  Reserved for future use:
    [ENGINE_ATTRIBUTE [=] 'string']

可以看到MySQL从8.0版本开始,越来越像Oracle了。

MySQL这么搞,有啥好处?

大家知道,MySQL5.7 版本之前在设置数据目录datadir时只能指定一个文件系统,如果这个文件系统满了怎么办?这时候只能扩展OS层的文件系统。8.0版本后,可通过ADD DATAFILE ‘file_name’ 方式指定新的文件系统了,是的数据扩展更加的灵活;

隐含的好处是:
可做数据冷热分离,如分别用HDD和SSD来存储,实现数据高效存取/提升业务响应,又能节约成本。

举个栗子:
有两块1TB的存储(SSD和HDD),经过创建两个卷组vg,划分两个逻辑卷lv,创建/hot_data 和 /cold_data两个数据目录,并mount对应的lv上;此方式可实现数据冷热分离。

以下为个人公众号,欢迎扫码关注:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值