この質問には、既に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(*)を選択します
私は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
を実行して目的のテーブルをシードします。
データベースとの接続が確立されているときにこのエラーが発生しました。問題は、127.0.0.1ではなくlocalhostにいることでした。