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:この質問を見て、backup.sql を .vagrant フォルダーに移動してから mysql コマンドを実行しようとしましたが、それでも機能しませんでした。

vagrant sshで実行されるUPDATE dfコマンド

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 シェルが含まれています。

そのため、そこに Linux がある場合、通常、 で始まるパスはC:\機能しません。代わりに、Linux ファイル システムに、Windows ファイル システムにマップされる (共有される) マウント ポイントが必要です。

VMの/vagrantフォルダーを確認してください。バックアップ ファイルがこのディレクトリのサブ フォルダーにある可能性が非常に高くなります。find /vagrant -name backup.sql正しいパスを見つけてみてください。

ただし、/vagrantVirtualBox にマウントされたフォルダーのデフォルトのみです。そのため、存在しない場合は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)

出力のエントリの 1 つ (この例のエントリではありません) は、ファイルが配置されている場所になります。

または、ホスト ディレクトリ (例: ) と 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 に答える