Ошибка запуска Laravel Homestead после обновления до 2.29 - PullRequest
2 голосов
/ 20 июня 2020

Я недавно обновил свою бродячую версию до 2.2.9. При запуске команды vagrant up я теперь получаю эту ошибку:

homestead: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
homestead: Job for mariadb.service failed because the control process exited with error code.
homestead: See "systemctl status mariadb.service" and "journalctl -xe" for details.

Я не уверен, что вызывает эту проблему, я много раз обновлял виртуальный бокс, бродягу и пакет hometead в Прошлое без проблем.

Моя машина - OS Catalina 10.15.5

Я пробовал удалить и переустановить, я также попытался установить более старую версию vagrant. Все приводит к той же ошибке, что и выше. Я не уверен, что делать дальше - любые предложения приветствуются!

EDIT Спасибо, @Aminul! Вот результат, который я получаю:

Status: "MariaDB server is down"

Jun 20 19:17:53 homestead mysqld[42962]: 2020-06-20 19:17:53 0 [Note] InnoDB: Starting shutdown...
Jun 20 19:17:54 homestead mysqld[42962]: 2020-06-20 19:17:54 0 [ERROR] Plugin 'InnoDB' init function returned error.
Jun 20 19:17:54 homestead mysqld[42962]: 2020-06-20 19:17:54 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Jun 20 19:17:54 homestead mysqld[42962]: 2020-06-20 19:17:54 0 [Note] Plugin 'FEEDBACK' is disabled.
Jun 20 19:17:54 homestead mysqld[42962]: 2020-06-20 19:17:54 0 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
Jun 20 19:17:54 homestead mysqld[42962]: 2020-06-20 19:17:54 0 [ERROR] Unknown/unsupported storage engine: InnoDB
Jun 20 19:17:54 homestead mysqld[42962]: 2020-06-20 19:17:54 0 [ERROR] Aborting
Jun 20 19:17:54 homestead systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
Jun 20 19:17:54 homestead systemd[1]: mariadb.service: Failed with result 'exit-code'.
Jun 20 19:17:54 homestead systemd[1]: Failed to start MariaDB 10.4.13 database server.

Запуск: mysql --version возвращает:

mysql  Ver 15.1 Distrib 10.4.13-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Итак, ясно, что это говорит о том, что MariaDB не запущен. Я могу узнать, как это начать. Но мне больше любопытно - это случилось с усадьбой? Или это результат чего-то другого? Обычно я могу просто vagrant up и все хорошо до go. Я беспокоюсь, что если я напортачу с вещами, я настрою себя на провал в будущем.

РЕДАКТИРОВАТЬ 2

При запуске:

vagrant@homestead:~$ systemctl start mysqld.service

Вот что мне предлагается:

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'mariadb.service'.
Authenticating as: vagrant,,, (vagrant)
Password: 

Я не уверен, какие учетные данные нужны для продолжения тестирования.

ДОПОЛНИТЕЛЬНОЕ РЕШЕНИЕ

Спасибо, Raphy963! Я не хотел отвечать на свой вопрос, и мне удалось найти другой обходной путь, который, надеюсь, поможет кому-то другому.

Приложение, над которым я работаю, еще не запущено, поэтому я смог чтобы изменить мою базу данных с MySQL на PostgreSQL.

Я удалил / удалил все экземпляры virtualbox, vagrant & homestead. Я также удалил каталог VirtualBox VMs.

Я переустановил все, начиная с VirtualBox, Vagrant, а затем laravel / homestead. Сейчас я использую все последние версии; используя Laravel документацию для получения инструкций.

После того, как все было установлено, запуск vagrant up не вызывал ошибок, однако я все еще не мог подключиться к MySQL.

Я обновил свой Homestead.yaml файл до следующего:

---
ip: "10.10.10.10"
memory: 2048
cpus: 2
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: /Users/<username>/Sites
      to: /home/vagrant/sites

sites:    
    - map: blog.test
      to: /home/vagrant/sites/blog/public

databases:
    - blog
    - homestead


features:
    - mariadb: false
    - ohmyzsh: false
    - webdriver: false

Я обновил свой файл hosts до следующего:

10.10.10.10     blog.test

Наконец, используя TablePlus Мне удалось подключиться к следующему: введите описание изображения здесь

Мой .env файл в моем Laravel приложении выглядит так:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=blog
DB_USERNAME=homestead
DB_PASSWORD=secret

Теперь я могу подключиться с помощью TablePlus и из моего приложения.

Надеюсь, это кому-то поможет !!

Ответы [ 2 ]

1 голос
/ 25 июня 2020

У меня была такая же проблема, и я потратил слишком много времени, пытаясь ее исправить. Я попытался использовать новую версию Homestead из их репозитория GitHub (https://github.com/laravel/homestead), который утверждает, что исправляет именно эту проблему, но это не сработало.

Проведя собственное расследование, я реализовал скрипты, используемые в Vagrant для работы с усадьбой (это репо здесь https://github.com/laravel/settler), было обновлено до «10.0.0-beta». Я сделал следующее, чтобы вернуть его в «9.5.1».

vagrant box remove laravel/homestead
vagrant box add laravel/homestead --box-version 9.5.1

После этого я переделал свой экземпляр, используя vagrant destroy и vagrant up, и MariaDB снова заработала.

Хотя это может быть не лучшее решение, по крайней мере, я заставил его работать, и этого достаточно.

Надеюсь, это помогло!

0 голосов
/ 20 июня 2020

Вам нужно будет выяснить причину.

Войдите в свой экземпляр, запустив vagrant ssh и запустите systemctl status mariadb.service для проверки журнала ошибок.

Проверьте, что такое об ошибке и ответьте здесь, если вы не поняли.

...