簡體   English   中英

更新到 2.29 后啟動 Laravel Homestead 時出錯

[英]Error starting Laravel Homestead after updating to 2.29

我最近將我的 vagrant 版本更新為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.

我不確定是什么導致了這個問題,我過去多次更新了 virtualbox、vagrant 和宅基地 package 沒有問題。

我的機器是 OS Catalina 10.15.5

我試過卸載和重新安裝,我也試過安裝舊版本的 vagrant。 一切都會導致上述相同的錯誤。 我不確定下一步該做什么 - 任何建議都非常感謝!

編輯謝謝,@Aminul:這是我得到的 output:

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 和宅基地的所有實例。 我還刪除了“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

我將我的主機文件更新為:

10.10.10.10     blog.test

最后,使用TablePlus我能夠連接以下內容: 在此處輸入圖像描述

我的 Laravel 應用程序中的.env文件如下所示:

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

我現在可以使用 TablePlus 和我的應用程序進行連接。

希望這對某人有幫助!

我遇到了同樣的問題,花了太多時間試圖解決它。 我嘗試使用來自他們的 GitHub 存儲庫( https://github.com/laravel/homestead )的新版本 Homestead ,它聲稱可以解決這個確切的問題,但它沒有用。

在我自己調查之后,我意識到 Vagrant 中用於宅基地工作的腳本(這個 repo 在這里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 destroyvagrant up重新制作了我的實例,MariaDB 再次啟動並運行。

雖然這可能不是最好的解決方案,但至少我讓它工作起來對我來說已經足夠好了。

希望它有所幫助!

您將需要調查原因。

通過運行vagrant ssh登錄到您的實例並運行systemctl status mariadb.service以檢查錯誤日志。

檢查是什么錯誤,如果您不明白,請在此處回復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM