簡體   English   中英

Laravel SQLSTATE[HY000] [2002] 連接被拒絕

[英]Laravel SQLSTATE[HY000] [2002] Connection refused

所以我想將我現有的 laravel 項目部署到我的 digitalocean vps 我使用這個<\/a>tut 並成功上傳了我的網站

我的環境文件也是

APP_ENV=local
APP_KEY=my app key
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=my ip
DB_PORT=3306
DB_DATABASE=form
DB_USERNAME=root
DB_PASSWORD=my pass

.env文件中,將DB_HOST127.0.0.1更改為localhost

放字符串:

DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

在 DB_PASSWORD= 之后

它適用於 MAMP。 將您的路徑設置為 mysql.sock

您收到此錯誤的原因有幾種可能。

  • 數據庫服務器沒有啟動,檢查你是否仍然可以使用你的phpmyadmin。 如果您仍然可以使用它,那么您的數據庫服務器就沒有問題。
  • 錯誤的配置; 檢查 .env 文件和 config/database.php 中的用戶名、密碼和服務器設置
  • 沒有對服務器和/或具有給定憑據的數據庫的特權查看您已經采取的步驟,我認為這是最后一步。

檢查此用戶是否可以從遠程位置訪問數據庫。 默認情況下,root 用戶可以在本地訪問服務器(localhost、127.0.0.1 和 ::1)。

因此,請檢查用戶是否可以從您的遠程 IP 或任何地方訪問。

當您使用 digitalocean 時,我建議檢查他們是否具有連接到 mysql 數據庫的特定配置。

在 .env 文件中,將 DB_HOST 從 127.0.0.1 更改為 localhost

進而

  1. php工匠緩存:清除
  2. php工匠路線:清除
  3. php工匠配置:清除
  4. php工匠視圖:清除

    這對我有用。

SELinux 可能是原因。

設置此規則並重試:

sudo setsebool -P httpd_can_network_connect_db=1

經過長時間的工作,這對我有用:

更改 php My Admin 中以前的端口為 8889

APP_NAME=laravel
APP_ENV=local
APP_KEY= YOUR KEY
APP_DEBUG=true
APP_URL=127.0.0.1

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock

進而

php artisan cache:clear
php artisan route:clear
php artisan config:clear
php artisan view:clear

我的作曲家是全局安裝的,我在沒有啟動 xampp 的情況下運行 php artisan serve 並收到此錯誤。 運行我的 xampp 服務器后,它在我這邊工作正常。

為了為那些在任何已經提到的答案中都沒有成功的人提供解決方案,我將分享我的解決方案。

從 Windows 10 開始,我了解到 root 用戶的密碼始終為空,因此我的 .env 文件如下所示:

DB_USERNAME=root
DB_PASSWORD=

在 Mac 上,密碼也默認為“root”。 將我的 .env 文件更改為如下所示修復了我的問題:

DB_USERNAME=root
DB_PASSWORD=root

在你的 .env 文件中

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ur_db_name
DB_USERNAME=ur_db_username
DB_PASSWORD=ur_dbuser_password

在按照上述說明進行更改之前,

  1. 檢查您的數據庫服務器是否正在運行。 如果您使用command prompt ,運行mysql.server status 或mysqld status 將顯示數據庫狀態。
  2. 如果數據庫正在運行,請檢查dbuser是否允許從'%''localhost''127.0.0.1' 如果沒有,只需從'%'授予用戶訪問權限
  3. 如果您已經完成了 1 和 2 仍然無法連接,請查看是否允許 db 用戶訪問架構。 如果沒有,請授予對架構的訪問權限
  4. 如果您到達此處仍然遇到相同的錯誤,請嘗試重新啟動您的 Web 服務器。

如果您在 Mac 上使用 XAMPP,只需使用 XAMPP 儀表板中的嵌入式 IP 地址作為 DB_HOST 而不是 127.0.0.1 或 localhost...

如果它仍然拒絕與用戶聯系,但堅持這個想法。

謝謝你。

暫無
暫無

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

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