PHP のフレームワークのLaravel でデータベースのテーブルを作成しようとしていますが
なぜか、実行するとエラーになります。
MySQLのバージョンは8.017です
データベースは作成済です。
Illuminate\Database\QueryException : SQLSTATE[HY000] [1045] Access denied for user 'database_user'@'localhost' (using password: NO) (SQL: select * from information_schema.tables where table_schema = Database_Name and table_name = migrations and table_type = 'BASE TABLE') at /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669 665| // If an exception occurs when attempting to run a query, we'll format the error 666| // message to include the bindings with SQL, which will make this exception a 667| // lot more helpful to the developer instead of just the database's errors. 668| catch (Exception $e) { > 669| throw new QueryException( 670| $query, $this->prepareBindings($bindings), $e 671| ); 672| } 673| Exception trace: 1 PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'database_user'@'localhost' (using password: NO)") /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 2 PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=Database_Name", "database_user", "", []) /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 Please use the argument -v to see more details.
となります。
該当するデータベースは作成されており、
コマンドラインからユーザー名、パスワードでログインでき、データベースにもアクセスできています。
.envのファイルにもユーザー名、パスワードを書き込んでいます。
対処方法が分からず困っています。よろしくお願いいたします。
(修正・追記)
すでに修正していますが、
Laravelのバージョン 6.7
MySQL 8.0.17
CentOS 8
です。
コマンドラインからユーザー名、パスワードでログインでき、データベースにもアクセスできています。
.envのファイルにもユーザー名、パスワードを書き込んでいますが、
パスワードが無い状態で認識されています。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE= DB_Name
DB_USERNAME=db_user
DB_PASSWORD=db_pass
(DB_DATABASE,DB_USERNAME,DB_PASSWORDはダミー)
config/database.phpを
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'DB_Name'),
'username' => env('DB_USERNAME', 'db_user'),
'password' => env('DB_PASSWORD', 'db_pass'),
(以下省略)
と編集
コマンドラインで
php artisan config:clear
を実行しました。
php artisan migrate
をしたところ
エラーになります。
(追記)
パスワードの先頭に "#" を含んでいたためコメントと認識されていたようでした。
パスワードの記号部分を変更して
コマンドラインで
php artisan config:clear
を実行しました。
php artisan migrate
したところ、
エラーメッセージが変わりました。
SQLSTATE[HY000] [1045] Access denied for user 'user_name'@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = DB_Name and table_name = migrations and table_type = 'BASE TABLE') PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'user_name'@'localhost' (using password: YES)") /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70 2 PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=DB_Name", "user_name", "password", []) /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
となっています。
database/migration.php
にあるファイルのテーブルを作成しようとしているのですが、
エラーになってテーブル作成が出来ません。
(修正)
記述ミスがありました。
database/migrations ディレクトリにある
日付_create_(テーブル名).php
というファイルのテーブルを作成しようと
php artisan migrate
を実行しましたが、
上記のようなエラーが出ます。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー