系统表空间是更改缓冲区的存储区域。如果表是在系统表空间中创建的,而不是在每个表或通用表空间中的文件中创建,那么它也可能包含表和索引数据。在以前的MySQL版本中,系统表空间包含InnoDB数据字典。在MySQL 8.0中,InnoDB将元数据存储在MySQL数据字典中。在以前的MySQL版本中,系统表空间也包含双写缓冲区存储区域。从MySQL 8.0.20开始,此存储区域位于单独的双写文件中。
系统表空间可以有一个或多个数据文件。默认情况下,在数据目录中创建一个名为ibdata1的系统表空间数据文件。系统表空间数据文件的大小和数量由innodb_data_file_path启动选项定义。
9de7bb31d0644e7393039222babfed10 欢迎收藏。
基本步骤
-
停止mysql服务
-
备份配置文件,便于出现问题好回退
-
编辑 innodb_data_file_path 值, 格式为 文件1:大小;文件2:大小;…文件N:大小:自动扩展
-
启动mysql服务
-
观察mysql错误日志是否有错
演示系统表空间加一个文件
- 查看表空间信息, 表空间模式
ON表示独立表空间, OFF表示共享表空间
mysql> show variables like '%innodb_data_file_path%';
+-----------------------+------------------------+
| Variable_name | Value |