Как я могу заставить работать снимки базы данных Laravel 7 Homestead?

Я наслаждался Homestead в течение многих лет, и сегодня заметил очень привлекательную функцию, которой я никогда раньше не пользовался.

https://laravel.com/docs/7.x/homestead#database-snapshots говорит:

Homestead поддерживает замораживание состояния баз данных MySQL и MariaDB и переход между ними с помощью Logical MySQL Manager. Например, представьте себе работу на сайте с многогигабайтной базой данных. Вы можете импортировать базу данных и сделать снимок. Выполнив некоторую работу и создав тестовый контент локально, вы можете быстро вернуться к исходному состоянию.

...

Общий рабочий процесс выглядит следующим образом:

  1. Импортируйте базу данных в ветку master lmm по умолчанию.
  2. Сохраните снимок неизмененной базы данных с помощью sudo lmm branch prod-YYYY-MM-DD.
  3. Измените базу данных.
  4. Запустите sudo lmm merge prod-YYYY-MM-DD, чтобы отменить все изменения.
  5. Запустите 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 показывает много файлов. Я явно не знаю, что делаю, и буду признателен за любую помощь.

П.П.С. Я также вижу https://github.com/laravel/homestead/issues/1112 но не понимаю.


person Ryan    schedule 10.03.2020    source источник


Ответы (1)


Была ошибка, из-за которой LMM не работал с MySQL 8: https://github.com/laravel/homestead/issues/1383

person Ryan    schedule 16.04.2020