Laravel项目中MySQL数据库的默认路径在哪里?已建库表找不到路径
Laravel关联MySQL数据库的默认物理存储路径说明
核心认知
MySQL是独立运行的后台服务程序,它的数据库文件存储位置完全由MySQL自身的配置决定,和Laravel项目的目录结构没有绑定关系——哪怕你是通过Laravel的make:createdatabase命令创建的数据库,实际的物理存储依然完全落在MySQL服务配置的存储目录下,不会出现在Laravel项目的根目录或子目录里。
不同操作系统下的MySQL默认存储路径
- Windows系统
- 手动独立安装的MySQL服务:默认路径为
C:\ProgramData\MySQL\MySQL Server X.X\Data,其中ProgramData为系统隐藏目录,需要开启文件资源管理器的“显示隐藏文件”选项才能看到 - 集成环境(phpStudy、XAMPP、WAMP,多用于本地Laravel开发):存储路径一般为集成环境安装目录下的
mysql/data文件夹,例如XAMPP环境对应的路径为C:\xampp\mysql\data
- 手动独立安装的MySQL服务:默认路径为
- macOS系统
- Homebrew方式安装的MySQL:Intel芯片Mac路径为
/usr/local/var/mysql,Apple Silicon芯片Mac路径为/opt/homebrew/var/mysql - 官方pkg安装包部署的MySQL:默认存储路径为
/usr/local/mysql/data
- Homebrew方式安装的MySQL:Intel芯片Mac路径为
- Linux系统(多用于Laravel生产环境)
- 主流发行版(Ubuntu、Debian、CentOS等)通过apt/yum源安装的MySQL,默认存储路径固定为
/var/lib/mysql
- 主流发行版(Ubuntu、Debian、CentOS等)通过apt/yum源安装的MySQL,默认存储路径固定为
精准查询当前环境实际存储路径的方法
无需硬翻默认路径,可直接连接MySQL服务执行以下SQL命令,返回的结果就是当前环境正在使用的数据库存储根目录:
SHOW VARIABLES LIKE 'datadir';
路径下的每一个以数据库名命名的子文件夹,就是Laravel项目所创建的对应数据库的物理存储位置,文件夹内会存放表结构定义、数据文件等内容。
常见找不到路径的原因
- 部分系统目录受权限保护,当前登录的系统用户没有读取权限,无法直接浏览目录内容
- 此前手动修改过MySQL配置文件(Windows下为
my.ini、类Unix系统下为my.cnf)中的datadir参数,默认路径已失效 - Laravel项目通过Docker容器部署MySQL服务时,数据库文件存储在Docker容器的挂载卷中,不在本地系统的默认MySQL路径下,此时需要进入对应MySQL容器执行上述SQL命令才能查到实际路径
内容的提问来源于stack exchange,提问作者Lubna Al Anis
相关产品推荐
相关产品推荐

