找不到mysql中的data文件

2023年 8月 5日 95.3k 0

最近在使用 MySQL 数据库时,我遇到了一个很烦人的问题:我找不到 data 文件!

$ sudo find / -name "*.frm"
/usr/local/mysql/data/db1/table1.frm
/usr/local/mysql/data/db1/table2.frm
/usr/local/mysql/data/db2/table3.frm
...

找不到mysql中的data文件

根据上面的命令,我可以找到所有的 .frm 文件,但是找不到对应的 .ibd 文件。

这个问题一般有两种可能:

  1. 文件被误删
  2. 数据存储在了其他地方

我首先检查了 Trash 中的文件,发现没有被误删的文件。

$ sudo ls -la ~/.Trash/
total 0

接着,我查看了 MySQL 的配置文件 my.cnf,发现数据存储目录被指定为 /usr/local/mysql-8.0.22-macos10.15-x86_64/data,而不是 /usr/local/mysql/data。

$ cat /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql-8.0.22-macos10.15-x86_64/data
...

最终,我在 /usr/local/mysql-8.0.22-macos10.15-x86_64/data 中找到了所有的 .ibd 文件。

总结一下,当你无法找到 MySQL 数据库中的 data 文件时,可以先查看 Trash 中有没有误删的文件,然后检查 my.cnf 中的 datadir 配置是否正确。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论