Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

shariff's avatar
Level 50

SQLSTATE[HY000] [2002] Connection refused (Docker)

Hello everyone

I'm just started with docker. I just installed docker in my windows system. After installing docker I created a brand new laravel 10 application with laravel sail. I'm not understanding why I cannot able to connect to mysql.

.env file

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=root
DB_PASSWORD=

docker-compose.yml file

    mysql:
        image: 'mysql/mysql-server:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ROOT_HOST: '%'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'sail-mysql:/var/lib/mysql'
            - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - mysqladmin
                - ping
                - '-p${DB_PASSWORD}'
            retries: 3
            timeout: 5s
0 likes
5 replies
Sinnbeck's avatar
Sinnbeck
Best Answer
Level 102

This is name of the service

DB_HOST=mysql
2 likes
shariff's avatar
Level 50

@Sinnbeck this is the error I'm getting now

Access denied for user 'root'@'172.18.0.7' (using password: NO) (Connection: mysql, SQL: select count(*) as aggregate from `users` where `email` = [email protected])

warpig's avatar

I am getting this error, several s.o. posts say to change DB_HOST to localhost but it's not working for me

Please or to participate in this conversation.