Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to connect to MYSQL from Docker Instance

I'm new to Docker and pulled the mysql from the docker hub using following command

docker pull mysql

Now, started mysql instance using following commands.

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql/mysql-server:latest
Unable to find image 'mysql/mysql-server:latest' locally
latest: Pulling from mysql/mysql-server

e64f6e679e1a: Pull complete
799d60100a25: Pull complete
85ce9d0534d0: Pull complete
d3565df0a804: Pull complete
Digest: sha256:59a5854dca16488305aee60c8dea4d88b68d816aee627de022b19d9bead48d04
Status: Downloaded newer image for mysql/mysql-server:latest
1be4f5dde2fb4e1d99e23ee2de5e3b663c7c2d0fabe7ef459cf87385071a2e0d

Now, I've checked what all services are up and running.

docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                   PORTS                               NAMES
1be4f5dde2fb        mysql/mysql-server:latest   "/entrypoint.sh mysql"   3 minutes ago       Up 3 minutes (healthy)   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql
e7d9e3713f5c        ubuntu                      "/bin/bash"              6 days ago          Up 6 days                                                    angry_hodgkin

and now I execute the following commands and unable to connect to mysql -

mysql -h127.0.0.1 -ppassword -uroot
-bash: mysql: command not found

Docker version..

docker --version
Docker version 1.12.3, build 6b644ec

Now, I'm getting below erro - EDIT-1

docker exec -it 1be4f5dde2fb bash
bash-4.2# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
bash-4.2# sudo mysql
bash: sudo: command not found

https://hub.docker.com/r/mysql/mysql-server/

like image 956
PAA Avatar asked Dec 02 '18 16:12

PAA


People also ask

Can I use MySQL with Docker?

MySQL is one of the most popular SQL-compatible relational databases. Running MySQL inside a Docker container lets you separate your database from your code. You can also use a container orchestrator like Kubernetes to scale MySQL independently of your API server instance.

Can't connect to local MySQL server through?

normally means that there is no MySQL server running on the system or that you are using an incorrect Unix socket file name or TCP/IP port number when trying to connect to the server. You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.


1 Answers

Get in the docker container using the following command

docker exec -it mysql bash

You can then easily connect to MySQL, by executing the following command

mysql -uroot -p

If you are trying to connect from the host machine, then you will have to install the mysql client. On mac, the command is as follows

brew install mysql
like image 172
Valerian Pereira Avatar answered Oct 17 '22 07:10

Valerian Pereira