首页 > 解决方案 > docker mysql,在执行期间发送 sql 命令

问题描述

我正在使用 bash 脚本创建一个 mysql 5.6 docker,我想更改密码。如何将 sql 命令从 bash 发送到 docker?

构建: sudo docker build -t mysql-5.6 -f ./.Dockerfile 。

运行.sh:

 #!/bin/bash
    sudo docker run --name=mysql1 -d mysql-5.6
    sudo docker exec -it mysql1 mysql -uroot -p$base_password \
        <<< SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_pass');

标签: dockerdocker-exec

解决方案


您需要像这里描述的那样绑定 MySQL-port 。要保留端口 3306,您可以通过以下方式在主机上公开它:

sudo docker run --name=mysql1 -p 3306:3306 -d mysql-5.6

之后,您应该可以mysql -u USER -p PASSWORD在本地主机上使用。然后,这将允许您向 docker-container 发送命令。


推荐阅读