How to execute MySQL command from the host to container running MySQL server? How to execute MySQL command from the host to container running MySQL server? docker docker

How to execute MySQL command from the host to container running MySQL server?


You can connect to your mysql container and run your commands using:

docker exec -it mysql bash -l

(Where mysql is the name you gave the container)

Keep in mind that anything you do will not persist to the next time your run a container from the same image.


docker exec -i some_mysql_container mysql -uroot -ppassword  <<< "select database();"


To connect to the MySQL database using MySQL command line client.

  1. I connect to the bash into the running MySQL container:

    $ docker exec -t -i container_mysql_name /bin/bash

    -i is the shortcut for --interactive option. This options is used for keep STDIN open even if not attached

    -t is the shortcut for --tty option, used to allocate a pseudo-TTY

  2. I run MySQL client from bash MySQL container:

    $ mysql -uroot -proot

    -u is shortcut for --user=name option, used to define user for login if not current user.

    -p is shortcut for -password[=name] option, used to define password to use when connecting to server. If password is not given it's asked from the tty.

  3. Disco!