Ryo
Ryo

Reputation: 595

Why access denied happen with mysql , with docker-compose

I'm trying to create mySQL container for development DB.
My app is made by golang.

Now, I created docker-compose.yml to run APP & DB.
mySQL container was created and I can start it, but Access denied shows up if when I tried to connect with this DB, via DB client (Sequel Pro).

it's my docker-compose.yml

version: '3' 
  services:   app:
    build:
      context: .
      dockerfile: "Dockerfile"
    ports:
     - "8080:8080"
    volumes:   mysql:
    image: mysql:5.7.10
    environment:
      MYSQL_ROOT_PASSWORD: 'pass'
    ports:
      - '3306:3306'
    volumes:
      - mysql-data:/var/lib/mysql volumes:   mysql-data:
    driver: local

I did

$ docker-compose build

and

$ docker-compose up -d

Then containers are created, mySQL is as below, if exec command
$ docker ps -a

1f7540fdedc1        mysql:5.7.10        "/entrypoint.sh mysq…"   1 second ago             Up 2 seconds                0.0.0.0:3306->3306/tcp   XXX_mysql_1

After that,If I tried to connect this DB with sequel pro, I can see this message in kitematic.

Access denied for user 'root'@'172.18.0.1' (using password: YES)

ip, user name, password, port must be correct.

Also, if I create docker container for mySQL with using kitematic, I can connect with the container.

I don't know why access denied shows up.

Screenshot when access denied shows up

Upvotes: 0

Views: 4725

Answers (1)

Rye
Rye

Reputation: 485

I have this similar problem fixed. Make sure you have the latest image of mysql version. docker pull mysql:5.7.10.

Then delete the associated volume (backup if there is existing data). If you are using the docker-compose yml version 3 you should map your environment like MYSQL_ROOT_PASSWORD=password. Verify that it is correctly set by going to the container and run command echo $MYSQL_ROOT_PASSWORD.

If you are logging in from the host machine try to pass the protocol flag. mysql -u root -p --protocol=tcp (you may also pass the host localhost or 127.0.0.1) -h 127.0.0.1

Upvotes: 1

Related Questions