docker mysql启动时执行初始化sql
1.拉取Mysql镜像
docker pull mysql:5.7
2.检查mysql镜像
docker inspect mysql:5.7 "Entrypoint": [ "docker-entrypoint.sh" ],
3.本地创建mysql外挂的目录
##挂载到容器内/docker-entrypoint-initdb.d;MySQL启动时将执行 01_create_database.sql /root/mysql-5.7/init-data 01_create_database.sql ##content create database test_database DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all privileges on `test_database`.* to 'test_user'@'%' identified by '123456'; flush privileges; ##挂载到容器内 /var/lib/mysql /root/mysql-5.7/mysql
4.启动mysql
docker run -p 33336:3306 -v /root/mysql-5.7/mysql:/var/lib/mysql -v /root/mysql-5.7/init-data:/docker-entrypoint-initdb.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql_5.7 -d mysql/mysql:5.7
5.进入容器,登录mysql,检查发现已创建库 test_database
docker exec -ti <containerID> sh mysql -uroot -p123456 show databases;
总结
以上所述是小编给大家介绍的docker mysql启动时执行初始化sql,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
Docker中部署mysql服务的方法及遇到的坑
最近一直在学习搬运工,感觉这么厉害的东西怎么以前不知道呢,把自己捣鼓的过程整理记录下来,供同学们参考 第零步:从Docker Hub拉取官方mysql镜像 docker pull mysql 然后就是进入漫长的等待,当然如果你配置了镜像加速器,速度会快那么一丢丢 第一步:使用docker images命令查看镜像 你会看到我们这里已经有了MySQL的的镜像 第二步:启动我们的mysql的镜像,创建一个MySQL的容器 使用命令:docker run -d --name mysql -p 3307
-
Docker容器中Mysql数据的导入/导出详解
前言 Mysql数据的导入导出我们都知道一个mysqldump命令就能够解决,但如果是运行在docker环境下的mysql呢? 解决办法其实还是用mysqldump命令,但是我们需要进入docker的mysql容器内去执行它,并且通过配置volumes让导出的数据文件可以拷贝到宿主机的磁盘上 所以操作步骤就可以分为: 配置docker的volumes 进入docker的mysql容器,导出数据文件 至于数据导入,太过简单,就不说了 先来看看mysqldump命令常见选项: --all-datab
-
Docker下Tomcat容器中使用Mysql的方法
在这里我们使用Tomcat容器来运行war包,不过作为一个网站一个程序,如果需要用到数据库的,那么Tomcat容器中如何连接Mysql呢? 已经pull了tomcat和mysql镜像,可以使用docker的连接系统(–link)连接多个容器方式解决tomcat容器中使用mysql [root@izbp1b5k5bjps0dw8owk7tz ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest 2d084b1116
-
Docker创建运行多个mysql容器的方法示例
1.使用mysql/mysql-server:latest镜像快速启动一个Mysql实例 docker run --name ilink_user_01 -e MYSQL_ROOT_PASSWORD=123456 0d 0p 3307:3306 mysql/mysql-server:latest ilink_user_01是容器名称,通过--name指令指定 123456为数据库root的密码,通过-e指定环境MYSQL_ROOT_PASSWORD为123456,-e (指定容器内的环境变量)
-
docker mysql启动时执行初始化sql
1.拉取Mysql镜像 docker pull mysql:5.7 2.检查mysql镜像 docker inspect mysql:5.7 "Entrypoint": [ "docker-entrypoint.sh" ], 3.本地创建mysql外挂的目录 ##挂载到容器内/docker-entrypoint-initdb.d:MySQL启动时将执行 01_create_database.sql /root/mysql-5.7/init-data 01_creat
-
详解SpringBoot程序启动时执行初始化代码
因项目集成了Redis缓存部分数据,需要在程序启动时将数据加载到Redis中,即初始化数据到Redis. 在SpringBoot项目下,即在容器初始化完毕后执行我们自己的初始化代码. 第一步:创建实现ApplicationListener接口的类 package com.stone; import com.stone.service.IPermissionService; import org.springframework.context.ApplicationListener; import
-
如何让docker中的mysql启动时自动执行sql语句
在用docker创建mysql容器的时,有时候我们期望容器启动后数据库和表已经自动建好,初始化数据也已自动录入,也就是说容器启动后我们就能直接连上容器中的数据库,使用其中的数据了. 其实mysql的官方镜像是支持这个能力的,在容器启动的时候自动执行指定的sql脚本或者shell脚本,我们一起来看看mysql官方镜像的Dockerfile,如下图: 已经设定了ENTRYPOINT,里面会调用/entrypoint.sh这个脚本,我们把mysql:8这个镜像pull到本地,再用docker run启
-
Docker容器启动时初始化Mysql数据库的方法
1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案. 第一种方案是在容器启动后手动导入,太low了不行.第二种在Spring Boot客户端连接Mysql容器时初始化数据库,你可以参考使用flyway进行数据库版本控制一文,但是这依赖客户端的能力.能不能做到Mysql容器启动时就自己初始化数据库呢?当然可以!今天就来演示一下.全部代码见文末. 2.
-
Spring启动时实现初始化有哪些方式?
一.Spring启动时实现初始化的几种方式 准确的说是spring容器实例化完成后,几种初始化的方式.为什么这么说呢?下看面示例: @Slf4j @Component public class InitBeanDemo { @Autowired private Environment env; public InitBeanDemo() { log.info("DefaultProfiles: {}", Arrays.asList(env.getDefaultProfiles()));
-
java如何实现项目启动时执行指定方法
本文实例为大家分享了java项目启动时执行指定方法,供大家参考,具体内容如下 想到的就是监听步骤如下: 1.配置web.xml <listener> <listener-class>com.listener.InitListener</listener-class> </listener> 2.编写InitListener类 package com.listener; import java.io.File; import javax.servlet.Ser
-
如何避免mysql启动时错误及sock文件作用分析
在mysql的启动过程中有时会遇到下述错误 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 请问mysql.sock 这个文件到底起什么作用? 如何避免发生如此错误? 答案一. 这个mysql.sock应该是mysql的主机和客户机在同一host(物理服务器)上的时候,使用unix domain socket做为通讯协议的载体,它比tcp快.通常遇到这个问题的原因就是你的mysql server没运
-
springboot中项目启动时实现初始化方法加载参数
目录 springboot项目启动,初始化方法加载参数 1.@PostConstruct说明 2.@PreDestroy说明 第一种:注解@PostConstruct 第二种:实现CommandLineRunner接口 第三种:springboot的启动类 springboot初始化参数顺序 spring初始化参数顺序为 springboot项目启动,初始化方法加载参数 今天我看到项目中用到了 @PostConstruct 这个注解,之前没看到过,特地查了一下, 1.@PostConstruct
-
详解Spring Boot 项目启动时执行特定方法
Springboot给我们提供了两种"开机启动"某些方法的方式:ApplicationRunner和CommandLineRunner. 这两种方法提供的目的是为了满足,在项目启动的时候立刻执行某些方法.我们可以通过实现ApplicationRunner和CommandLineRunner,来实现,他们都是在SpringApplication 执行之后开始执行的. CommandLineRunner接口可以用来接收字符串数组的命令行参数,ApplicationRunner 是使用App
-
mysql启动时出现ERROR 2003 (HY000)问题的解决方法
一.问题描述 在启动MYSQL时出现问题:"ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)",情况如图: 二.问题分析 从错误的提示中可以看出MySQL服务没有启动,因此只需要启动MySQL服务就可以了. 三.问题解决 直接采用net start MySQL 就可以启动MySQL服务,但是输入命令后仍然出现错误: 可以看到错误提示:"服务名无效",说明不存在MySQL服
随机推荐
- 妙用Angularjs实现表格按指定列排序
- 一个用jquery写的判断div滚动条到底部的方法【推荐】
- 一款基jquery超炫的动画导航菜单可响应单击事件
- 用vbs实现本地添加用户的脚本
- javascript操作cookie的文章(设置,删除cookies)
- php返回字符串中所有单词的方法
- Python的爬虫程序编写框架Scrapy入门学习教程
- 利用C#实现AOP常见的几种方法详解
- c#操作sqlserver数据库的简单示例
- C++中COM组件初始化方法实例分析
- php实现的网络相册图片防盗链完美破解方法
- SQL SERVER的数据类型
- jquery复选框checkbox实现删除前判断
- Android编程实现拍照功能的2种方法分析
- android ImageView 的几点经验总结
- Python 多进程并发操作中进程池Pool的实例
- Android实现类似于PC中的右键弹出菜单效果
- Android中监听判断网络连接状态的方法
- 关于AIX挂载NFS写入效率低效的解决方法
- Python mutiprocessing多线程池pool操作示例