web-dev-qa-db-ja.com

SQLSTATE [HY000] [1045]ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワード:NOを使用)。 localhostに設定されたDB_Host

この質問には、既にstackOverflowに回答があるかもしれません。しかし、私はここで別の問題を抱えています。 laravelプロジェクトをlocalhostからサーバーに移動しました。サーバーですべての手順を実行しました。サーバーでログインページを表示できます。問題は、 mysqlサーバー。my .envファイルに接続します。

APP_NAME=Transport
APP_ENV=local
APP_KEY=base64:mrakeyidharhaikonsdf
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_Host=localhost
DB_PORT=3306
DB_DATABASE=transport_db
DB_USERNAME=root
DB_PASSWORD=mypass

ホストを127.0.0.1に変更して、サーバーのIPを配置しようとしました。それは私を助けませんでした。何か不足していますか?

私のエラー:

SQLSTATE [HY000] [1045]ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワード:NOを使用)(SQL:usersから集計としてselect count(*)を選択しますemail = user .email @ gmail.com)

3
farooq

私はHomesteadを使用してLaravelフレームワークで作業していて、そのような問題がありました。実際、このエラーは、データベースをvagrantで作成しなかったためです。それで、データベースを作成しました。詳細:

1- vagrant sshを実行してHomesteadコマンドラインを取得します。

2- mysqlを実行して、mysqlコマンドラインを取得します。

3- create database database_name;を実行してデータベースを作成します。データベースは2つの `(Not ')マークの内側になければならないことに注意してください。

4- laravelプロジェクトの.envファイルを以下のように変更します。

DB_CONNECTION=mysql
DB_Host=192.168.10.10
DB_PORT=3306
DB_DATABASE=askidb2
DB_USERNAME=Homestead
DB_PASSWORD=secret

5-(以前にlaravel作成テーブルのプロジェクト)でモデルと構成済みファイルを作成した場合)プロジェクトフォルダーのコマンドラインでphp artisan migrateを実行します。これにより、 askidb2データベース。

6-(おそらくオプションです)質問テーブルをシードするために必要なファイルを設定する前に、php artisan db:seedを実行して目的のテーブルをシードします。

1
M Shafaei N

データベースとの接続が確立されているときにこのエラーが発生しました。問題は、127.0.0.1ではなくlocalhostにいることでした。

0
omarhabeh