🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

1回答

1188閲覧

Laravel Homestead php artisan migrate Access deniedエラー

meruchaaan

総合スコア18

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2021/01/27 06:27

編集2021/01/27 06:42

mysql --version

mysql Ver 14.14 Distrib 5.7.32, for Linux (x86_64) using EditLine wrapper

[したいこと]
LaravelからMysqlに接続

[困っていること]
php artisan migrateを行った時に下記のエラー発生

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = 'BASE TABLE')

mysqlのrootユーザーにログインできること、データベースにhomesteadがあることは確認済みです。
socket変える、password空欄でログイン、passwordがrootでのログイン、データベースにlaravelというデータベースを作りデータベースの名前欄のところを変えてログイン、DB_HOST=localhostでのログイン、php artisan config:clear等々を試しましたがどれもダメでした。
そしてdatabases.phpとenvファイルは下記の通りです。

env

1DB_CONNECTION=mysql 2DB_HOST=127.0.0.1 3DB_PORT=3306 4DB_DATABASE=homestead 5DB_USERNAME=homestead 6DB_PASSWORD=secret

databasephp

1'mysql' => [ 2 'driver' => 'mysql', 3 'url' => env('DATABASE_URL'), 4 'host' => env('DB_HOST', '127.0.0.1'), 5 'port' => env('DB_PORT', '3306'), 6 'database' => env('DB_DATABASE', 'forge'), 7 'username' => env('DB_USERNAME', 'forge'), 8 'password' => env('DB_PASSWORD', ''), 9 'unix_socket' => env('DB_SOCKET', ''), 10 'charset' => 'utf8mb4', 11 'collation' => 'utf8mb4_unicode_ci', 12 'prefix' => '', 13 'prefix_indexes' => true, 14 'strict' => true, 15 'engine' => null, 16 'options' => extension_loaded('pdo_mysql') ? array_filter([ 17 PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), 18 ]) : [], 19 ]

もしよろしければ、ご教授お願い致します。

追記

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = 'BASE TABLE')

というエラーメッセージを見て、検索すると大体'root'@'localhost' (using password: NO)のところが'homestead'@'localhost' (using password: YES)となっている記事を多く見ます。
その点もこの問題が解決できない原因なのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

phper.k

2021/01/27 06:33

php artisan migrate は homestead の中で行っていますか?
meruchaaan

2021/01/27 06:36

コメントありがとうございます。はい。こちらのようなコマンドで行っております。vagrant@homestead:~/code/sample$ php artisan migrate
phper.k

2021/01/27 06:44 編集

まさかとは思いますが、「.env」でなければいけないファイルを「env」で作っていますか?
meruchaaan

2021/01/27 06:51

.envで作っています。紛らわしい記載で申し訳ございません。
guest

回答1

0

ベストアンサー

Please try with configuration:

DB_USERNAME=root DB_PASSWORD=

投稿2021/01/27 07:14

VuDinhLoan

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meruchaaan

2021/01/27 07:22

I fixed it as below, but it didn't work. DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=root DB_PASSWORD=
VuDinhLoan

2021/01/27 07:30

Use following command line to change password of root: $ sudo systemctl stop mysql $ sudo mysqld_safe --skip-grant-tables --skip-networking & $ mysql -u root mysql> FLUSH PRIVILEGES; mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; or mysql> UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost'; And then re-try configuration with new password.
meruchaaan

2021/01/27 08:23

mysql -u root -p I know the root password because I can enter it with this command. That password is a secret. And when I typed this code, I got an error with access denied again.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問