简体   繁体   中英

Laravel 6 - Mysql - Docker - Illuminate\Database\QueryException SQLSTATE[HY000]: General error: 2036

Getting below exception from laravel while login into the admin page. Do i have to change anything in.env?

.env:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=test

DB Query result for HOST: Even user exists and am able to get the result from mysql command.

mysql> SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | %         |
| root             | 127.0.0.1 |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
| root             | mysql     |
+------------------+-----------+

Error Trace:

[2021-05-12 07:58:41] local.ERROR: SQLSTATE[HY000]: General error: 2036  (SQL: select * from `members` where `email` = member@sample.com limit 1) {"exception":"[object] (Illuminate\\Database\\QueryException(code: HY000): SQLSTATE[HY000]: General error: 2036  (SQL: select * from `members` where `email` = member@sample.com limit 1) at /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669)
[stacktrace]
#0 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Connection.php(629): Illuminate\\Database\\Connection->runQueryCallback('select * from `...', Array, Object(Closure))
#1 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Connection.php(338): Illuminate\\Database\\Connection->run('select * from `...', Array, Object(Closure))
#2 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2159): Illuminate\\Database\\Connection->select('select * from `...', Array, true)
#3 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2147): Illuminate\\Database\\Query\\Builder->runSelect()
#4 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2619): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()
#5 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2148): Illuminate\\Database\\Query\\Builder->onceWithColumns(Array, Object(Closure))
#6 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(546): Illuminate\\Database\\Query\\Builder->get(Array)
#7 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(530): Illuminate\\Database\\Eloquent\\Builder->getModels(Array)
#8 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(143): Illuminate\\Database\\Eloquent\\Builder->get(Array)
#9 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php(131): Illuminate\\Database\\Eloquent\\Builder->first()
#10 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(357): Illuminate\\Auth\\EloquentUserProvider->retrieveByCredentials(Array)
#11 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php(307): Illuminate\\Auth\\SessionGuard->attempt(Array)
#12 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Auth\\AuthManager->__call('attempt', Array)
#13 /var/www/laravel-boilerplate/vendor/appname/core/src/Http/Controllers/Api/Admin/LoginController.php(23): Illuminate\\Support\\Facades\\Facade::__callStatic('attempt', Array)
#14 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): appname\\Core\\Http\\Controllers\\Api\\Admin\\LoginController->authenticate(Object(Illuminate\\Http\\Request))
#15 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('authenticate', Array)
#16 /var/www/laravel-boilerplate/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(appname\\Core\\Http\\Controllers\\Api\\Admin\\LoginController), 'authenticate')

Attaching docker-compose file too:

version: '2'
services:
  mysql:
    image: mysql:latest
    volumes:
      - "./data/db:/var/lib/mysql"
    ports:
      - "3306:3306"
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=test
      - MYSQL_DATABASE=test
      - MYSQL_USER=root
      - MYSQL_PASSWORD=test
  laravel-env:
    build: ./dockerfiles
    depends_on:
      - mysql
    volumes:
      - ".:/var/www/laravel-boilerplate"
      - "./dockerfiles/config/php/php-fpm.conf:/etc/php-fpm.conf"
      - "./dockerfiles/config/php/www.conf:/etc/php-fpm.d/www.conf"
      - "./dockerfiles/config/php/php.ini:/usr/local/etc/php/php.ini"
      - "./dockerfiles/config/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini"
  nginx:
    image: nginx:latest
    depends_on:
      - laravel-env
    volumes:
      - ".:/var/www/laravel-boilerplate"
      - "./dockerfiles/config/nginx/default.conf:/etc/nginx/conf.d/default.conf"
    ports:
      - "8084:80"
    restart: always

Also docker container ls shows below result,

CONTAINER ID   IMAGE                 COMMAND                 PORTS                               NAMES
58f22cb28103   appname_laravel-env   "php-fpm -F -O"         9000/tcp                            appname_laravel-env_1
6ffed6f28b56   nginx:latest          "/docker-entrypoint.…"  0.0.0.0:8084->80/tcp                appname_nginx_1
5063c5234423   mysql:latest          "docker-entrypoint.s…"  0.0.0.0:3306->3306/tcp, 33060/tcp   appname_mysql_1

Have attached my docker compose file too for the reference, Please let me know what am i doing or configured wrong!!!!

Try to set the DB_HOST to 127.0.0.1 and run the commands below.

php artisan config:clear
php artisan migrate

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM