mysql将数据存储在哪里?我发现(通过使用 mysql>SELECT @@datadir )它在 var/lib/mysql 中——但事实并非如此。我有一个名为“bot”的相当大的数据库(4 GB),但“bot”子目录(var/lib/mysql/bot)中的所有文件只有 280KB。其余的在哪里?
还有一件事——数据库大小的 99% 是其中一个表中的文本列——我知道 mysql 将它存储在单独的文件中,但它是否为每条记录创建一个文件?
mysql将数据存储在哪里?我发现(通过使用 mysql>SELECT @@datadir )它在 var/lib/mysql 中——但事实并非如此。我有一个名为“bot”的相当大的数据库(4 GB),但“bot”子目录(var/lib/mysql/bot)中的所有文件只有 280KB。其余的在哪里?
还有一件事——数据库大小的 99% 是其中一个表中的文本列——我知道 mysql 将它存储在单独的文件中,但它是否为每条记录创建一个文件?
如果您正在使用 InnoDB 并且具有合理的默认配置,表空间数据在
ibdata
文件中,您至少应该ibdata1
默认配置。您可能想阅读有关其配置的信息:
https://dev.mysql.com/doc/refman/5.7/en/innodb-configuration.html
具体拆分它,以便每个表都有自己的 ibdata 文件:
https://dev.mysql.com/doc/refman/5.7/en/innodb-multiple-tablespaces.html
还有一些相关的问题:
Ibdata 的使用和建议?
如果您不使用 InnoDB,请忽略它 :)