问题 存储在linux机器上的mysql数据库中的实际数据在哪里? [关闭]


哪些文件是保存数据的实际文件  一个mysql数据库中的表?

我去了 /var/lib/mysql/ 我可以看到一堆相对较小的目录对应于我的表,并且有很多文件命名 servername-bin.0000001 等等

数据存储在那些文件中吗?


3808
2018-04-17 19:51


起源



答案:


它是特定于安装的,但是如果你有/ var / lib / mysql,那么:

  • MyISAM表将存储在/ var / lib / mysql /中的单个文件中databasename/
  • InnoDB驻留在/ var / lib / mysql / ibdata中(除非您使用了innodb_per_table设置,在这种情况下它的存储方式与MyISAM表非常相似)

16
2018-04-17 20:01





看看 ibdata1 文件及其同类。

文件

“由InnoDB存储引擎管理的两个重要的基于磁盘的资源是它的表空间数据文件及其日志文件。如果你没有指定InnoDB配置选项,MySQL会创建一个名为ibdata1的自动扩展10MB数据文件和两个名为ib_logfile0的5MB日志文件MySQL数据目录中的ib_logfile1。为了获得良好的性能,您应该明确提供InnoDB参数,如以下示例中所述。当然,您应该编辑设置以满足您的硬件和要求。“


2
2018-04-17 19:58



另见 dev.mysql.com/doc/refman/5.1/en/multiple-tablespaces.html 如果您在删除表后尝试恢复磁盘空间。 - janmoesen


答案:


它是特定于安装的,但是如果你有/ var / lib / mysql,那么:

  • MyISAM表将存储在/ var / lib / mysql /中的单个文件中databasename/
  • InnoDB驻留在/ var / lib / mysql / ibdata中(除非您使用了innodb_per_table设置,在这种情况下它的存储方式与MyISAM表非常相似)

16
2018-04-17 20:01





看看 ibdata1 文件及其同类。

文件

“由InnoDB存储引擎管理的两个重要的基于磁盘的资源是它的表空间数据文件及其日志文件。如果你没有指定InnoDB配置选项,MySQL会创建一个名为ibdata1的自动扩展10MB数据文件和两个名为ib_logfile0的5MB日志文件MySQL数据目录中的ib_logfile1。为了获得良好的性能,您应该明确提供InnoDB参数,如以下示例中所述。当然,您应该编辑设置以满足您的硬件和要求。“


2
2018-04-17 19:58



另见 dev.mysql.com/doc/refman/5.1/en/multiple-tablespaces.html 如果您在删除表后尝试恢复磁盘空间。 - janmoesen


它存储在该目录下的各种文件中,是的。使用的确切文件取决于表使用的引擎。


0
2018-04-17 19:53



如果我告诉它是innodb,你能更具体一点吗? - olamundo


一堆比较小的   与我的表对应的目录

不是表而是数据库

服务器名,bin.0000001

这是二进制日志,它与数据无关

顺便问一下,为什么你需要知道?


-2
2018-04-17 19:55