前言:
今天同学们对“mysql扩展表空间”大致比较看重,看官们都需要分析一些“mysql扩展表空间”的相关知识。那么小编也在网络上搜集了一些关于“mysql扩展表空间””的相关资讯,希望我们能喜欢,看官们快快来了解一下吧!系统表空间是更改缓冲区的存储区域。如果表是在系统表空间中创建的,而不是在每个表或通用表空间中的文件中创建,那么它也可能包含表和索引数据。在以前的MySQL版本中,系统表空间包含InnoDB数据字典。在MySQL 8.0中,InnoDB将元数据存储在MySQL数据字典中。在以前的MySQL版本中,系统表空间也包含双写缓冲区存储区域。从MySQL 8.0.20开始,此存储区域位于单独的双写文件中。
系统表空间可以有一个或多个数据文件。默认情况下,在数据目录中创建一个名为ibdata1的系统表空间数据文件。系统表空间数据文件的大小和数量由innodb_data_file_path启动选项定义。
9de7bb31d0644e7393039222babfed10 欢迎收藏。
基本步骤
1. 停止mysql服务
2. 备份配置文件,便于出现问题好回退
3. 编辑 innodb_data_file_path 值, 格式为 文件1:大小;文件2:大小;...文件N:大小:自动扩展
4. 启动mysql服务
5. 观察mysql错误日志是否有错
演示系统表空间加一个文件
1. 查看表空间信息, 表空间模式
ON表示独立表空间, OFF表示共享表空间
mysql> show variables like '%innodb_data_file_path%';+-----------------------+------------------------+| Variable_name | Value |+-----------------------+------------------------+| innodb_data_file_path | ibdata1:12M:autoextend |+-----------------------+------------------------+1 row in set (0.01 sec) mysql> show variables like '%innodb_file_per_table%';+-----------------------+-------+| Variable_name | Value |+-----------------------+-------+| innodb_file_per_table | ON |+-----------------------+-------+1 row in set (0.01 sec)
2. 修改配置文件,增加新的表空间 默认 ibdata1:12M:autoextend
innodb_data_file_path=ibdata1:24M;ibdata2:12M:autoextend
3. 重新启动 错误提示: ibdata1数据文件size设置大小和系统不匹配
[ERROR] [MY-012264] [InnoDB] The innodb_system data file './ibdata1' is of a different size 768 pages (rounded down to MB) than the 1536 pages specified in the .cnf file!
4. 查看表空间数据文件的大小 ls -lh
# ls -lh ibdata1 -rw-r-----. 1 mysql mysql 12M Apr 20 03:37 ibdata1
5. 重新修改配置参数:
innodb_data_file_path=ibdata1:12M;ibdata2:12M:autoextend
6. 也可以写绝对路径指定异地文件:
innodb_data_file_path=/data/ibdata1:12M;/data/ibdata2:10M;/data/ibdata3:10M;/data/ibdata4:10M:autoextend
注意:
对于已有的表空间数据文件的size,必须按照系统查看的size设置,否则报错 (也可以将表空间建立在不同的目录下如: /data/ibdata3:10M)
autoextend属性只能在innodb_data_file_path设置的最后一个数据文件中指定,对于系统表空间现有系统表空间的大小减少是不支持的。要实现更小的系统表空间,唯一的选择是将数据从备份恢复。Mysql里删除数据是不释放空间的
7.查看tablespace,新的tablespace增加成功
mysql> show variables like '%innodb_data_file_path%';+-----------------------+------------------------------------+| Variable_name | Value |+-----------------------+------------------------------------+| innodb_data_file_path | ibdata1:12M;ibdata2:12M:autoextend |+-----------------------+------------------------------------+
标签: #mysql扩展表空间