1

我在使用 vagrant 导入数据库时​​遇到问题。

我已经跑了vagrant up,一切正常。然后我运行vagrant ssh,登录 mysql,设置数据库和用户 - 一切正常。

然后我退出 mysql (但不是vagrant ssh)并运行并运行以下命令:

mysql -u root -p mydatabase < "C:\Users\moshe\Websites\Projects\backup.sql"

这一点我收到以下消息:

-bash: C:\Users\moshe\Websites\Projects\backup.sql: No such file or directory

知道我做错了什么吗?

PS如果它是相关的 - 我正在使用Windows 10。

PS 2:我看了一下this question并尝试将backup.sql移动到.vagrant文​​件夹中,然后运行mysql命令,但它仍然不起作用。

更新 df 命令在 vagrant ssh 中运行

vagrant@scotchbox:~$ df
Filesystem                                    1K-blocks     Used Available Use% Mounted on
/dev/sda1                                      41251136  6750852  32764372  18% /
none                                                  4        0         4   0% /sys/fs/cgroup
udev                                            1019772       12   1019760   1% /dev
tmpfs                                            204992      380    204612   1% /run
none                                               5120        0      5120   0% /run/lock
none                                            1024956        0   1024956   0% /run/shm
none                                             102400        0    102400   0% /run/user
192.168.33.1:/C/Users/moshe/Websites/Projects 249478140 80929092 168549048  33% /var/www
4

1 回答 1

3

我很确定您的 VM 中没有 Windows 10,是吗?至少错误消息包含bash通常是 Linux shell。

所以,如果你有一些 Linux,通常以开头的路径C:\不起作用。相反,Linux 文件系统中必须有一些挂载点映射到您的 Windows 文件系统(共享)。

看看/vagrant你的虚拟机中的文件夹,你很可能在这个目录的子文件夹中找到了你的备份文件。尝试find /vagrant -name backup.sql找到正确的路径。

但是,/vagrant这只是 VirtualBoxes 中已安装文件夹的默认设置。因此,如果它不存在,请mount | grep vboxsf在您的 VM 中尝试该命令。输出应与此类似:

vagrant on /vagrant type vboxsf (uid=1000,gid=1000,rw)
var_www on /var/www type vboxsf (uid=33,gid=33,rw)

您的输出中的条目之一(不是本示例中的条目)将是您的文件所在的条目。

或者,您可以使用该命令为您提供主机目录(例如)和 VM 中的文件夹(例如 )df之间的直接关系。C:\.../var/www

在你的情况下,这是最后一行

192.168.33.1:/C/Users/moshe/Websites/Projects 249478140 80929092 168549048  33% /var/www

这表明C:\Users\moshe\Websites\Projects(以类 Unix 表示法)映射到/var/www.

于 2016-06-03T09:47:50.737 回答