[我享受Homestead多年了,今天注意到了一个我从未使用过的非常吸引人的功能。
https://laravel.com/docs/7.x/homestead#database-snapshots说:
Homestead支持冻结MySQL和MariaDB数据库的状态并使用逻辑MySQL管理器在它们之间分支。例如,想象在一个具有数千兆字节数据库的站点上工作。您可以导入数据库并拍摄快照。做完一些工作之后在本地创建一些测试内容,您可以快速还原到原始状态。
...
一个常见的工作流程如下:
- 将数据库导入默认的
master
lmm分支。- 保存快照使用
sudo lmm branch prod-YYYY-MM-DD
更改未更改的数据库。- 修改数据库。
- 运行
sudo lmm merge prod-YYYY-MM-DD
撤消所有变化。- 运行
sudo lmm delete <branch>
删除不需要的分支。
此工具听起来确实很有用,但是按照这些说明操作时遇到了麻烦。这是我尝试过的结果:
sudo lmm status
Active snapshot:
Database snapshots:
master
2.70% used by MySQL databases.
sudo lmm branch beforeImports
df: '': No such file or directory
Logical volume name "" is invalid.
Run `lvcreate --help' for more information.
mount: /homestead-vg/beforeImports: special device /dev/homestead-vg/mysql-beforeImports does not exist.
mount: /homestead-vg/beforeImports: special device /dev/homestead-vg/mysql-beforeImports does not exist.
mount: /homestead-vg/prod-YYYY-MM-DD: special device /dev/homestead-vg/mysql-prod-YYYY-MM-DD does not exist.
mount: /homestead-vg/beforeImports: special device /dev/homestead-vg/mysql-beforeImports does not exist.
sudo lmm checkout master
is the currently active database.
Setting /homestead-vg/master as the active database.
rm: cannot remove '/var/lib/mysql': Is a directory
ln: failed to create symbolic link '/var/lib/mysql/master': File exists
我正在使用:Windows 10,Vagrant 2.2.7,Virtualbox 6.1.2,Homestead v10.2.0。
我在做什么错?
P.S。我查看了https://github.com/Lullabot/lmm/blob/ubuntu-18.04/functions.sh#L5(我认为这是Homestead所使用的),然后我运行了sudo echo `readlink
/var/lib/mysql`
,它打印了一个空白行。但是sudo ls -lah /var/lib/mysql
显示了很多文件。我显然不知道自己在做什么,将不胜感激。
P.P.S。我也看到了https://github.com/laravel/homestead/issues/1112,但听不懂。
[存在一个导致LMM无法与MySQL 8配合使用的错误:https://github.com/laravel/homestead/issues/1383