[英]Access denied for user MySql
問題是我的localhost Laravel項目只是不會連接MySQL,我收到以下錯誤:
用戶'root'@'localhost'拒絕訪問(使用密碼:YES)
OS:macos high sierra瀏覽器:Chrome; MySql版本:8.0.12 Laravel版本:5.6 Homestead版本:7.0
我試圖解決它的事情:
檢查是否有MySql運行的實例 - 它正在運行。
檢查.env文件和config / database.php中的憑據 - 憑據是否正確(Mysql root用戶密碼已從安裝時生成的密碼更改)
我檢查了我是否可以通過終端連接來仔細檢查憑據是否正確 - 我可以,他們是正確的
嘗試創建具有所有root權限的新MySql用戶。 - 同樣的錯誤。
我可以在終端中運行php artisan migrate
並創建表。 我覺得這個網站被拒絕了。
我完全刪除了MySql 3次。 (遵循本指南: https : //gist.github.com/vitorbritto/0555879fe4414d18569d ) - 同樣的錯誤
那么我從一開始就摧毀了流浪者盒子和Laravel項目並從頭開始 - 同樣的錯誤。
打了我的電腦的沖動。
.env(更新)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
YAML:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Sites
to: /home/vagrant/Sites
sites:
- map: site.test
to: /home/vagrant/Sites/sitetest/public
databases:
- homestead
/ etc / hosts文件
##
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 site.test
宅基地的默認密碼是沒有something
。
根據laravel docs的說法,它是secret
。
家庭數據庫配置為MySQL和PostgreSQL開箱即用。 為了更加方便,Laravel的.env文件將框架配置為開箱即用地使用此數據庫。
要從主機的數據庫客戶端連接到MySQL或PostgreSQL數據庫,應連接到127.0.0.1和端口33060(MySQL)或54320(PostgreSQL)。 兩個數據庫的用戶名和密碼是宅基/秘密。
文檔: https : //laravel.com/docs/5.6/homestead
您還可以授予您的用戶使用數據庫的權限:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
在hosts文件中,運行Homestead時,您必須將127.0.0.1 site.test
更改為192.168.10.10 site.test
當然,這只會在vagrant up
起作用
您可以通過緩存配置來解決您的問題:
php artisan config:cache
vagrant ssh
php artisan migrate
試試這個
首先在mysql里面運行sudo mysql -u root -p
next執行這個命令:
use mysql;
update user set plugin='' where User="root";
flush priviliges;
exit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.