Rya*_*yan 6 virtualbox vagrant laravel homestead
我正在运行 Homestead v8.2.0laravel/homestead (virtualbox, 7.1.0)和 Vagrant 2.2.4。我需要升级,因为我想要 PHP 7.4 支持。
Laravel 文档说首先销毁 vagrant 盒子是必要的,但我知道我不想销毁我原来的盒子,因为我那里还有有价值的数据。所以我想我只会尝试“更新”它,以防万一。
(我非常小心地不使用,destroy因为我不想丢失任何 MySQL 数据库。)
当我跑步时,vagrant global-status我看到:
id name provider state directory
------------------------------------------------------------------------------
5620b14 vboxHomestead virtualbox running C:/code/Homestead
Run Code Online (Sandbox Code Playgroud)
所以我用 git 来结帐v10.2.0Homestead。
我跑了vagrant box update。鉴于 Laravel 文档,我对这种方法不起作用并不感到惊讶。
然后我想:我不会更新我当前的盒子,而是在它旁边创建一个新盒子(仍然不会破坏旧盒子)。
所以我复制C:/code/Homestead到一个新目录C:/code/HomesteadB。
我升级到 Vagrant 2.2.7。我跑了vagrant box add laravel/homestead,看到了新的laravel/homestead (virtualbox, 9.2.0)(注意更高的版本号)。我跑了vagrant up,我继续享受运行 PHP 7.4 的新机器。一切似乎都在按计划进行。
后来,当我有灵感回到我的旧盒子并恢复那里的所有旧数据时,我注意到 MySQL 数据库丢失了!
但这没有任何意义,因为我从未删除它们。而且我从来没有破坏过盒子(我仍然能够vagrant up在旧的C:/code/Homestead然后运行vagrant ssh)。而且我认为这vagrant box update也不会删除 MySQL 数据库。
它们在哪里,我该如何恢复它们?
myuser@ABCDESK MINGW64 /c/code/Homestead ((v10.2.0))
$ vagrant box list
laravel/homestead (virtualbox, 5.2.0)
laravel/homestead (virtualbox, 6.0.0)
laravel/homestead (virtualbox, 7.1.0)
laravel/homestead (virtualbox, 9.2.0)
redash/dev (virtualbox, 0.1.0)
$ VBoxManage list vms
"Redash" {29166fde-e0bf-4f31-8efc-58a66afd78e5}
"redash_default_1502117350190_63240" {0b5935af-288a-4e4d-aa8a-ee04f42e3235}
"macOS 10.12 High Sierra" {37b09cb2-10cd-4e1a-8e2c-aefdb1a348c6}
"macOS Sierra" {f010233b-d058-4a6e-9493-5c4d68e99ef1}
"macOS High Sierra 10.13" {741f0d4d-7f16-4f42-993b-4d301ef68125}
"default" {f3e8f33d-0ca3-452d-9ae6-d93e5e412fbb}
"vboxHomestead" {0706d0b0-d31b-4137-9e97-f86b827f1530}
"vboxHomestead2020-01-31" {1ef6f202-9d81-4d41-a4b9-adaab7b12014}
$ ls -lah /c/code/Homestead/.vagrant/machines/
total 0
drwxr-xr-x 1 myuser 197121 0 Aug 27 2017 ./
drwxr-xr-x 1 myuser 197121 0 Apr 8 2019 ../
drwxr-xr-x 1 myuser 197121 0 Apr 4 2017 homestead-7/
drwxr-xr-x 1 myuser 197121 0 Aug 27 2017 vboxHomestead/
$ ls -lah /c/code/HomesteadB/.vagrant/machines/
total 0
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:36 ./
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:25 ../
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:25 homestead-7/
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:25 vboxHomestead/
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:36 vboxHomestead2020-01-31/
$ ls -lah /c/code/Homestead/.vagrant/machines/vboxHomestead/virtualbox/
total 19K
drwxr-xr-x 1 myuser 197121 0 Apr 8 2019 ./
drwxr-xr-x 1 myuser 197121 0 Aug 27 2017 ../
-rw-r--r-- 1 myuser 197121 40 Apr 8 2019 action_provision
-rw-r--r-- 1 myuser 197121 10 Feb 18 12:20 action_set_name
-rw-r--r-- 1 myuser 197121 138 Feb 18 11:44 box_meta
-rw-r--r-- 1 myuser 197121 1 Apr 8 2019 creator_uid
-rw-r--r-- 1 myuser 197121 36 Apr 8 2019 id
-rw-r--r-- 1 myuser 197121 32 Apr 8 2019 index_uuid
-rw-r--r-- 1 myuser 197121 1.7K Apr 8 2019 private_key
-rw-r--r-- 1 myuser 197121 653 Feb 18 12:22 synced_folders
-rw-r--r-- 1 myuser 197121 17 Apr 8 2019 vagrant_cwd
$ ls -lah /c/code/HomesteadB/.vagrant/machines/vboxHomestead/virtualbox/
total 19K
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:25 ./
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:25 ../
-rw-r--r-- 1 myuser 197121 40 Jan 31 09:25 action_provision
-rw-r--r-- 1 myuser 197121 10 Jan 31 09:26 action_set_name
-rw-r--r-- 1 myuser 197121 138 Jan 31 09:25 box_meta
-rw-r--r-- 1 myuser 197121 1 Jan 31 09:25 creator_uid
-rw-r--r-- 1 myuser 197121 36 Jan 31 09:25 id
-rw-r--r-- 1 myuser 197121 32 Jan 31 09:25 index_uuid
-rw-r--r-- 1 myuser 197121 1.7K Jan 31 09:25 private_key
-rw-r--r-- 1 myuser 197121 653 Jan 31 09:25 synced_folders
-rw-r--r-- 1 myuser 197121 18 Jan 31 09:25 vagrant_cwd
$ ls -lah /c/code/HomesteadB/.vagrant/machines/vboxHomestead2020-01-31/virtualbox/
total 19K
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:37 ./
drwxr-xr-x 1 myuser 197121 0 Jan 31 09:36 ../
-rw-r--r-- 1 myuser 197121 40 Jan 31 09:37 action_provision
-rw-r--r-- 1 myuser 197121 10 Feb 24 18:45 action_set_name
-rw-r--r-- 1 myuser 197121 138 Feb 4 11:56 box_meta
-rw-r--r-- 1 myuser 197121 1 Jan 31 09:36 creator_uid
-rw-r--r-- 1 myuser 197121 36 Jan 31 09:36 id
-rw-r--r-- 1 myuser 197121 32 Jan 31 09:36 index_uuid
-rw-r--r-- 1 myuser 197121 1.7K Jan 31 09:37 private_key
-rw-r--r-- 1 myuser 197121 654 Feb 24 18:46 synced_folders
-rw-r--r-- 1 myuser 197121 18 Jan 31 09:36 vagrant_cwd
$ cat /c/code/HomesteadB/.vagrant/machines/vboxHomestead2020-01-31/virtualbox/id
1ef6f202-9d81-4d41-a4b9-adaab7b12014
$ cat /c/code/HomesteadB/.vagrant/machines/vboxHomestead/virtualbox/id
0706d0b0-d31b-4137-9e97-f86b827f1530
$ cat /c/code/Homestead/.vagrant/machines/vboxHomestead/virtualbox/id
0706d0b0-d31b-4137-9e97-f86b827f1530
Run Code Online (Sandbox Code Playgroud)
你唯一的机会就是希望vagrant box update不要重新安装 mysql。在放弃所有希望之前,我会尝试一些事情:
1)检查您的虚拟机提供商(VirtualBox??),看看那里列出了多少虚拟机。如果超出了您的预期,请从 VirtualBox 界面启动奇怪的数据,然后查看您的数据是否存在于您认为不应该存在的奇怪机器上。老实说,这种方法的成功率很低,但值得一试。如果您的旧盒子仍然以旧状态存在于某处,它应该可以覆盖您。如果发现任何内容,请执行 mysqldump,然后在新框中恢复。
2)vagrant ssh在你的新机器中cd /var/lib/查找与mysql相关的文件夹。如果 vagrant update 命令没有完全清除你的 mysql 数据目录,这应该可以解决你的问题。我担心它可能有:(但请检查是否有看起来像您的旧表名称或模式名称的文件。如果您发现任何内容,请更改 mysql 数据目录以指向该文件夹,请参阅此https://dba.stackexchange。 com/questions/14320/how-can-i-move-a-mysql-database-to-another-drive . 执行 mysqldump 并在新框中恢复
3) 用于VBoxManage list vms获取 vagrant box id 列表。如果旧的仍然存在,您也许可以将 vagrant 指向它。检查这篇文章:/sf/answers/2657414651/ 。如果您可以访问数据,请对数据进行 mysqldump 并将其恢复到新机器上。
这有可能有效,但不幸的是,如果您找不到数据,则数据要么已消失,要么无法访问,因此您可能不得不接受命运:(
| 归档时间: |
|
| 查看次数: |
897 次 |
| 最近记录: |