在Innodb中,我们可以指定一张表的数据是保存在独立表空间还是系统表空间,这个参数是:innodb_file_per_table
如果我们设置这个参数的值为0,那么一个表将使用系统表空间来保存表的数据,如果设置为1,则使用独立表空间来存储数据。
除此之外,我们可以使用
alter table tbl_name tablespace innodb_file_per_table;
的方法来把系统表空间中的表转移到独立表空间,反之,我们可以使用:
alter table tbl_name tablespace innodb_system
的方法来将独立表空间的表转移到系统表空间。 系统表空间(ibdata1、ibdata2文件)
系统表空间是指data目录下面的ibdata1文件和ibdata2文件,文件个数可以指定,这里的表空间文件默认大小是12M,当然,我们也可以手动设置,配置的方法如下:
# InnoDB Directory Variables
innodb_data_home_dir = /data/mysql_4306/data
innodb_data_file_path = ibdata1:1000M;ibdata2:100M:autoextend
innodb_file_per_table = 1 在配置文件my.cnf里面写上以上参数,注意看,这里我写的是ibdata1是1000M,而ibdata2是100M,这样的设置是完全可行的,可以看到,在ibdata一行最后是autoextend,他的意思是这个文件是可以自动扩展的,所以一般都会比较大,往往是1G更多。还有一点需要注意,就是这个系统表空间只有一份,所有的表共用这一份数据。 关于这个系统表空间,这里有一个小坑,给大家说一下:
如果你的主库上设置的ibdata的模式是一个1000M,一个100M的话,你在搭建从库的时候,从库上需要跟主库保持一致,如果没有保持一致,则在实例启动的时候会有报错。

MySQL表空间结构的更多相关文章

  1. Mysql表分区的选择与实践小结

    在一些系统中有时某张表会出现百万或者千万的数据量,尽管其中使用了索引,查询速度也不一定会很快.这时候可能就需要通过分库,分表,分区来解决这些性能瓶颈. 一. 选择合适的解决方法 1. 分库分表. 分库 ...

  2. MySQL表的四种分区类型

    MySQL表的四种分区类型 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表 ...

  3. MySQL表名和数据库关键字相同解决办法

    今天改他们的代码的时候,遇到了MySQL表名和数据库关键字的问题. 由于表名是关键字,导致增删改查都报错. Hibernate: select leave0_.id as id22_, leave0_ ...

  4. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了.如:某用户表的记录超过了1000万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区 ...

  5. 清除mysql表中数据

    delete from 表名; truncate table 表名; 不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内 ...

  6. Python将MySQL表数据写入excel

    背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...

  7. mysql表名忽略大小写问题记录

    问题描述:一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: mysql> show tables; +--- ...

  8. 查看mysql表结构和表创建语句的方法(转)

    查看mysql表结构的方法有三种:1.desc tablename;例如:要查看jos_modules表结构的命令:desc jos_modules;查看结果:mysql> desc jos_m ...

  9. 清空mysql表后,自增id复原

    alter table `ajy_servercategory` AUTO_INCREMENT=1; alter table `Table_Name` AUTO_INCREMENT=n; 一.清除my ...

随机推荐

  1. 【LeetCode】998. Maximum Binary Tree II 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcod ...

  2. 【LeetCode】368. Largest Divisible Subset 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址:https://leetcode.com/problems/largest-d ...

  3. World is Exploding(hdu5792)

    World is Exploding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  4. [多线程]async异步操作的使用实例及不同策略的对比

    #include <iostream> #include <thread> #include <mutex> #include <iostream> / ...

  5. [opencv]调用鼠标事件执行grabcut算法实现阈值分割

    #include<iostream> #include <opencv2/opencv.hpp> #include <math.h> using namespace ...

  6. 使用PyTorch构建神经网络以及反向传播计算

    使用PyTorch构建神经网络以及反向传播计算 前一段时间南京出现了疫情,大概原因是因为境外飞机清洁处理不恰当,导致清理人员感染.话说国外一天不消停,国内就得一直严防死守.沈阳出现了一例感染人员,我在 ...

  7. 使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果。

    查看本章节 查看作业目录 需求说明: 使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果. 具体要求如下: ...

  8. nexus私服SNAPSHOT仓库maven-metadata.xml缺失导致的Could not find artifact:***.jar

    环境:maven项目,使用Nexus私服(ip:192.168.10.100),jenkins实现代码的编译和打包. 问题分析思路:在2021年元旦假期前,jenkins上的编译打包任务一直正常工作, ...

  9. python 面向对象:类方法&静态方法

    一.类方法 1.1 概念和语法说明 类方法就是针对类对象定义的方法.在类方法内部可以直接访问类属性或者调用其他的类方法 语法如下: @classmethod def 类方法名(cls): pass 说 ...

  10. spring boot + thymeleaf +security自定义规则 的简单使用

    1.前言 以前开发一直使用 springMVC模式开发 ,前端页面常使用 JSP  ,现在html5淘汰了 ,要么使用html ,要么使用vue , 现在使用spring boot ,有必要总结一下 ...