网站建设中的定位设想,wordpress 安装教程,韶关微网站建设,东营网站搭建MySQL数据存储 Innodb存储引擎的数据存储#xff0c;可以使用两种方式进行存储#xff1a;系统表空间和独立表空间 -- ON表示使用的是独立表空间-- OFF表示使用的是系统表空间show variables like %innodb_file_per_table% 系统表空间(共享表空间) 在MySQL5.5之前默认使用的是… MySQL数据存储 Innodb存储引擎的数据存储可以使用两种方式进行存储系统表空间和独立表空间 -- ON表示使用的是独立表空间-- OFF表示使用的是系统表空间show variables like %innodb_file_per_table% 系统表空间(共享表空间) 在MySQL5.5之前默认使用的是系统表空间系统表空间是指每一个数据库所有的表数据索引文件全部放在一个文件中文件名为ibdataX(X代表第几个文件从1开始)默认初始化是12M show variables like innodb_data%;Variable_name Valueinnodb_data_file_path ibdata1:12M:autoextendinnodb_data_home_dir autoextend表示自动扩展当文件存储满时会自动进行扩展默认增量是64M show variables like innodb_autoextend_increment;Variable_name Valueinnodb_autoextend_increment 64 优点 表空间可以分成多个文件存放到各个磁盘所以表也就可以分成多个文件存放在磁盘上表的大小不受磁盘大小的限制 缺点 数据量非常大的时候表做了大量删除操作后表空间中将会有大量的空隙系统表空间无法简单的收缩文件大小造成空间浪费并会产生大量的磁盘碎片 如果对多个表进行刷新时实际上是顺序进行的会产生IO瓶颈 独立表空间 在MySQL5.6中默认使用的是独立表空间每一个表都会生成独立的文件来进行存储以.frm表描述文件(存储表的结构)还有.ibd文件(存储一个表的数据内容以及索引内容) 优点 独立表空间可以通过 optimeze table 收缩系统文件不需要重启服务器也不会影响对表的正常访问 独立表空间可以同时向多个文件刷新数据 可以实现单表在不同数据库中进行移动 缺点 当单表占用空间过大时存储空间不足只能从操作系统层面思考解决方法 如何将系统表空间的表转为独立表空间呢 使用mysqldump 导出所有数据库数据存储过程、触发器、计划任务一起都要导出 可以在从服务器上操作 停止Mysql 服务器修改参数my.cnf加入innodb_file_per_table并删除Inoodb相关文件可以重建Data目录 重启Mysql并重建Innodb系统表空间 重新导入数据 alter table 同样可以的转移但是无法回收系统表空间中占用的空间 https://zhhll.icu/2021/数据库/关系型数据库/MySQL/进阶/18.MySQL数据存储/ 本文由 mdnice 多平台发布