这里是先导入数据,然后才是设置用户和权限,是因为mysql容器一开始为免密登录,Dockerfile中有如下设置:ENV MYSQL_ALLOW_EMPTY_PASSWORD yes,此时执行导入数据命令不需要登录验证操作,如果是先执行权限操作,那么导入数据则需要登录验证,整个过程就麻烦了许多。 3、需要导入数据的mysql脚本命令schema.sql: -- 创建数据库cr...
- `docker run`:运行一个新的容器; - `--name mysql-container`:为容器分配一个名称; - `-e MYSQL_ROOT_PASSWORD=password`:设置MySQL的root用户密码; - `-d mysql:latest`:指定使用的MySQL镜像。 ### 步骤2:将SQL脚本复制到容器内 将包含SQL脚本的文件复制到MySQL容器内。 ```markdown ```docker doc...
这里是先导入数据,然后才是设置用户和权限,是因为mysql容器一开始为免密登录,Dockerfile中有如下设置:ENV MYSQL_ALLOW_EMPTY_PASSWORD yes,此时执行导入数据命令不需要登录验证操作,如果是先执行权限操作,那么导入数据则需要登录验证,整个过程就麻烦了许多。 3、需要导入数据的mysql脚本命令schema.sql: 代码语言:javascrip...
docker 部署mysql服务之后,执行sql脚本 1,先将.sql文件copy到docker容器里 docker ps //找到容器的短ID或者指定的name。 docker inspect -f '{{.Id}}' id or name 得到指定容器的全ID docker cp 本地文件路径 ID全称:容器路径[docker cp mysql.sql 12345:/tmp/] 2,将文件copy进容器之后,进入docke 容器 ...
2、编写容器启动脚本setup.sh: #!/bin/bashset-e#查看mysql服务的状态,方便调试,这条语句可以删除echo`service mysql status`echo'1.启动mysql...'#启动mysqlservice mysql startsleep3echo`service mysql status`echo'2.开始导入数据...'#导入数据mysql < /mysql/schema.sqlecho'3.导入数据完毕...'sleep3...
mysql的官方镜像是支持这个能力的,在容器启动的时候自动执行指定的sql脚本或者shell脚本,我们一起来看看mysql官方镜像的Dockerfile,如下图: image.png 已经设定了ENTRYPOINT,里面会调用/docker-entrypoint.sh这个脚本,我们把mysql:8.0.12这个镜像pull到本地,再用docker run启动起来,看看里面的docker-entrypoint.sh这个脚本...
3.创建执行sql的shell脚本createDb.sh: #这个脚本是登录mysql并执行指定的sql文件 mysql -uroot -p$MYSQL_ROOT_PASSWORD <<EOF source $WORK_PATH/$FILE_0; source $WORK_PATH/$FILE_1; 4.创建Dockerfile文件: #基础镜像使用的是mysql:latest(mysql:8) ...
然后我们通过id 去指定容器,这个也就是mysql容器的id 我们通过这个命令就可以进去到容器,我们进去到这里呢,句可以在这里去登录mysql,然后执行脚本。 代码语言:javascript 复制 docker exec-it 4f50fbeb15ee/bin/bash ctrl+d,退出容器 但是在这之前,我们要将sql文件拷贝进来。
$docker-compose run db mysql --host=$DOCKER_LOCALHOST--port=3306 --protocol=tcp -u root < shared/create_common_tables.sql I get this error: ERROR2003(HY000): Can'tconnecttoMySQL serveron'192.168.99.100' (111) This sounds normal, because I suspect that I have tobuildbefore some container...
Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行。那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案。 第一种方案是在容器启动后手动导入,太low了不行。第二种在Spring Boot客户端连接Mysql容器时初始化数据库,你可以参考使用flyway进行数据库版本控制一文...