首页 > 解决方案 > postgres / docker: password authentication failed for user

问题描述

So I am trying to set up my environment for a laravel / react application. I am having trouble making a connection with the database.

The issue arises when I run composer install, or try to access my localhost. Either way i get the following error.

Note: When i change "DB_NAME" in my .env file to "localhost", this returns an error of no connection could be established. However I am able to code in the dark and make migrations, and see the data appear in my postgres database. So there must be a connection being made. If I return DB_NAME to "db" I am no longer to make migrations, but I get the following error log, stating now it sees the database but can't validate me... I am so confused.

CMD: /var/www # composer install(this is the command I enter, not log feedback)

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Package phpoffice/phpexcel is abandoned, you should avoid using it. Use phpoffice/phpspreadsheet instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
[2018-07-30 21:42:12] development.ERROR: SQLSTATE[08006] [7] FATAL:  password authentication failed for user "kyle" {"exception":"[object] (Doctrine\\DBAL\\Driver\\PDOException(code: 7): SQLSTATE[08006] [7] FATAL:  password authentication failed for user \"kyle\" at /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:50, PDOException(code: 7): SQLSTATE[08006] [7] FATAL:  password authentication failed for user \"kyle\" at /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:46)
[stacktrace]
#0 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(65): Doctrine\\DBAL\\Driver\\PDOConnection->__construct('pgsql:host=db;d...', 'kyle', 'momspanks', Array)
#1 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php(44): Illuminate\\Database\\Connectors\\Connector->createPdoConnection('pgsql:host=db;d...', 'kyle', 'momspanks', Array)
#2 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/PostgresConnector.php(33): Illuminate\\Database\\Connectors\\Connector->createConnection('pgsql:host=db;d...', Array, Array)
#3 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connectors/ConnectionFactory.php(183): Illuminate\\Database\\Connectors\\PostgresConnector->connect(Array)
#4 [internal function]: Illuminate\\Database\\Connectors\\ConnectionFactory->Illuminate\\Database\\Connectors\\{closure}()
#5 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(915): call_user_func(Object(Closure))
#6 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(940): Illuminate\\Database\\Connection->getPdo()
#7 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(399): Illuminate\\Database\\Connection->getReadPdo()
#8 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(325): Illuminate\\Database\\Connection->getPdoForSelect(true)
#9 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(657): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('select * from i...', Array)
#10 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback('select * from i...', Array, Object(Closure))
#11 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(333): Illuminate\\Database\\Connection->run('select * from i...', Array, Object(Closure))
#12 /var/www/vendor/laravel/framework/src/Illuminate/Database/Schema/PostgresBuilder.php(20): Illuminate\\Database\\Connection->select('select * from i...', Array)
#13 /var/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\\Database\\Schema\\PostgresBuilder->hasTable('menus')
#14 /var/www/routes/quickadmin.php(5): Illuminate\\Support\\Facades\\Facade::__callStatic('hasTable', Array)
#15 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(394): require('/var/www/routes...')
#16 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(350): Illuminate\\Routing\\Router->loadRoutes('/var/www/routes...')
#17 /var/www/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php(120): Illuminate\\Routing\\Router->group(Array, '/var/www/routes...')
#18 /var/www/app/Providers/RouteServiceProvider.php(42): Illuminate\\Routing\\RouteRegistrar->group('/var/www/routes...')
#19 [internal function]: App\\Providers\\RouteServiceProvider->map()
#20 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#21 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#22 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#23 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(564): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#24 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php(74): Illuminate\\Container\\Container->call(Array)
#25 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php(33): Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider->loadRoutes()
#26 /var/www/app/Providers/RouteServiceProvider.php(28): Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider->boot()
#27 [internal function]: App\\Providers\\RouteServiceProvider->boot()
#28 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#29 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#30 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#31 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(564): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#32 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(794): Illuminate\\Container\\Container->call(Array)
#33 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(777): Illuminate\\Foundation\\Application->bootProvider(Object(App\\Providers\\RouteServiceProvider))
#34 [internal function]: Illuminate\\Foundation\\Application->Illuminate\\Foundation\\{closure}(Object(App\\Providers\\RouteServiceProvider), 25)
#35 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(778): array_walk(Array, Object(Closure))
#36 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\\Foundation\\Application->boot()
#37 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(206): Illuminate\\Foundation\\Bootstrap\\BootProviders->bootstrap(Object(Illuminate\\Foundation\\Application))
#38 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(297): Illuminate\\Foundation\\Application->bootstrapWith(Array)
#39 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(120): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#40 /var/www/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#41 {main}
"} 
[2018-07-30 21:42:12] development.ERROR: SQLSTATE[08006] [7] FATAL:  password authentication failed for user "kyle" (SQL: select * from information_schema.tables where table_schema = public and table_name = menus) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 7): SQLSTATE[08006] [7] FATAL:  password authentication failed for user \"kyle\" (SQL: select * from information_schema.tables where table_schema = public and table_name = menus) at /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664, Doctrine\\DBAL\\Driver\\PDOException(code: 7): SQLSTATE[08006] [7] FATAL:  password authentication failed for user \"kyle\" at /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:50, PDOException(code: 7): SQLSTATE[08006] [7] FATAL:  password authentication failed for user \"kyle\" at /var/www/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:46)
[stacktrace]
#0 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(624): Illuminate\\Database\\Connection->runQueryCallback('select * from i...', Array, Object(Closure))
#1 /var/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php(333): Illuminate\\Database\\Connection->run('select * from i...', Array, Object(Closure))
#2 /var/www/vendor/laravel/framework/src/Illuminate/Database/Schema/PostgresBuilder.php(20): Illuminate\\Database\\Connection->select('select * from i...', Array)
#3 /var/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): Illuminate\\Database\\Schema\\PostgresBuilder->hasTable('menus')
#4 /var/www/routes/quickadmin.php(5): Illuminate\\Support\\Facades\\Facade::__callStatic('hasTable', Array)
#5 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(394): require('/var/www/routes...')
#6 /var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(350): Illuminate\\Routing\\Router->loadRoutes('/var/www/routes...')
#7 /var/www/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php(120): Illuminate\\Routing\\Router->group(Array, '/var/www/routes...')
#8 /var/www/app/Providers/RouteServiceProvider.php(42): Illuminate\\Routing\\RouteRegistrar->group('/var/www/routes...')
#9 [internal function]: App\\Providers\\RouteServiceProvider->map()
#10 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#11 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#12 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#13 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(564): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#14 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php(74): Illuminate\\Container\\Container->call(Array)
#15 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php(33): Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider->loadRoutes()
#16 /var/www/app/Providers/RouteServiceProvider.php(28): Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider->boot()
#17 [internal function]: App\\Providers\\RouteServiceProvider->boot()
#18 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#19 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#20 /var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#21 /var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(564): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#22 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(794): Illuminate\\Container\\Container->call(Array)
#23 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(777): Illuminate\\Foundation\\Application->bootProvider(Object(App\\Providers\\RouteServiceProvider))
#24 [internal function]: Illuminate\\Foundation\\Application->Illuminate\\Foundation\\{closure}(Object(App\\Providers\\RouteServiceProvider), 25)
#25 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(778): array_walk(Array, Object(Closure))
#26 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\\Foundation\\Application->boot()
#27 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(206): Illuminate\\Foundation\\Bootstrap\\BootProviders->bootstrap(Object(Illuminate\\Foundation\\Application))
#28 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(297): Illuminate\\Foundation\\Application->bootstrapWith(Array)
#29 /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(120): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#30 /var/www/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#31 {main}
"} 

In Connection.php line 664:

  SQLSTATE[08006] [7] FATAL:  password authentication failed for user "kyle"   
  (SQL: select * from information_schema.tables where table_schema = public a  
  nd table_name = menus)                                                       


In PDOConnection.php line 50:

  SQLSTATE[08006] [7] FATAL:  password authentication failed for user "kyle"  


In PDOConnection.php line 46:

  SQLSTATE[08006] [7] FATAL:  password authentication failed for user "kyle"  


Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

标签: postgresqldockerdocker-compose

解决方案


事实证明,这更多的是个人基础错误。创建的 docker-compose.yml 直到现在只在 linux 操作系统上使用,它包含以下内容:

  PGDATA: /var/lib/postgresql/pgdata # needed as we're using the data folder as mount point
volumes:
  - ./docker/db:/var/lib/postgresql

macos 上不存在的路径。


推荐阅读