如何解决Mac终端用XAMPP执行SOURCE命令加载MariaDB数据库报错问题
报错原因
你遇到的Failed to open file 'xxx', error: 2报错,本质是MariaDB找不到你指定路径的SQL文件。
你当前使用的是Mac端带Debian虚拟机的XAMPP版本,你填写的/Users/kamrulhasan/Desktop/Database/dh.sql是Mac本机的文件路径,XAMPP运行的Debian虚拟机默认无法直接访问Mac本地文件系统,因此读取失败。
解决方案
方法1:使用XAMPP共享文件夹(最简便)
- 打开XAMPP控制面板,切换到「卷」标签,点击「挂载」按钮后再点击「探索」,即可打开XAMPP和Mac的共享文件夹
- 把你桌面的
Database文件夹整个复制到该共享目录下 - 在XAMPP终端进入MariaDB后,执行对应共享路径的SOURCE命令即可,共享目录在虚拟机内的默认路径为
/opt/lampp/htdocs,示例命令:
SOURCE /opt/lampp/htdocs/Database/dh.sql;
方法2:把SQL文件传入虚拟机内再导入
- 在Mac本机的终端执行SCP命令,把本地SQL文件传到XAMPP虚拟机中,默认虚拟机IP为
192.168.64.2,示例命令:
scp ~/Desktop/Database/dh.sql root@192.168.64.2:/root/
- 回到XAMPP的MariaDB命令行,执行虚拟机内路径的SOURCE命令:
SOURCE /root/dh.sql;
方法3:非虚拟机版XAMPP排查方案
如果你使用的是直接运行在Mac本地的非VM版XAMPP,按以下步骤排查:
- 先在Mac终端执行
ls /Users/kamrulhasan/Desktop/Database/dh.sql,确认路径正确、文件存在 - 给SQL文件加公共读取权限:
chmod 644 /Users/kamrulhasan/Desktop/Database/dh.sql
- 也可以直接在终端导入,无需进入MariaDB命令行:
mysql -u root dhtest < /Users/kamrulhasan/Desktop/Database/dh.sql
内容的提问来源于stack exchange,提问作者Kamrul Hasan
相关产品推荐
相关产品推荐

