系统表空间是更改缓冲区的存储区。如果在系统表空间中创建表,而不是在每个表文件或常规表空间中创建表,则它也可能包含表和索引数据。在以前的MySQL版本中,系统表空间包含InnoDB数据字典。在MySQL 8.0中,InnoDB将元数据存储在MySQL数据字典中。
在以前的MySQL版本中,系统表空间还包含doublewrite缓冲区存储区。自MySQL 8.0.20起,此存储区位于单独的doublewrite文件中。
系统表空间可以具有一个或多个数据文件。默认情况下,ibdata1在数据目录中创建一个名为的系统表空间数据文件 。系统表空间数据文件的大小和数量由innodb_data_file_path启动选项定义。
增加系统表空间的大小
增加系统表空间大小的最简单方法是将其配置为自动扩展。为此,请autoextend为设置中的最后一个数据文件指定 属性innodb_data_file_path ,然后重新启动服务器。例如:
innodb_data_file_path=ibdata1:10M:autoextend
autoextend指定 该属性后,数据文件将根据需要的空间自动增加8MB的大小。所述 innodb_autoextend_increment 可变控制增量大小。
您还可以通过添加另一个数据文件来增加系统表空间的大小。为此:
1、停止MySQL服务器。
如果innodb_data_file_path 使用autoextend 属性定义了设置中的最后一个数据文件,则将 其删除,然后修改size属性以反映当前数据文件的大小。要确定要指定的适当数据文件大小,请检查文件系统中的文件大小,并将该值四舍五入为最接近的MB值,其中MB等于1024 x 1024。
将新的数据文件追加到 i