可以在配置文件里指定mysql启动以后初始执行的SQL文件, 其语法是: 在[mysqld]下指定: init-file="D:/mysql/test.sql",  后面为具体的sql文件值. 注意下边两点就行了: 1. 确保你的mysqld 编译的时候没有加 --disable-grant-options 开关. 2. 确保init-file指定的脚本每行是一个具体的可以执行的语句. 废话不多说(上面截图我使用的mysql7).直入正题:test.sql为: use test; be…
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 # pwd # /root/mysql-5.7/ini…
本文提要 本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动MySQL服务接受外部连接,主要是通过Dockerfile和shell脚本实现这一过程. 至于这么做的原因可以看一下这篇文章<将数据的初始化放到docker中的整个工作过程(问题记录)>,为了实现和docker-compose整合,试了很多种方法都没法实现需求,最终是通过这种方法才解决掉问题. 搭建步骤 1.首先创建Dckerfile: FROM…
参考博客: https://www.jianshu.com/p/88125f1cf91c 1. 启动时执行 当有在项目启动时先执行指定的sql语句的需求时,可以在resources文件夹下添加需要执行的sql文件,文件中的sql语句可以是DDL脚本或DML脚本,然后在配置加入相应的配置即可,如下: spring: datasource: schema: classpath:schema.sql # schema.sql中一般存放的是DDL脚本,即通常为创建或更新库表的脚本 data: class…
如果要想让 servlet 的 init () 方法在服务器启动 时就被执行,则需要在 web.xml 中相应的 servlet 下配置 <servlet > <servlet -name>test</servlet -name> <servlet -class>com.zzk.test.MyServlet</servlet -class> <load-on-startup>1</load-on-startup> <…
方法 1 – 使用 rc.local利用 /etc/ 中的 rc.local 文件在启动时执行脚本与命令.我们在文件中加上一行来执行脚本,这样每次启动系统时,都会执行该脚本.不过我们首先需要为 /etc/rc.local 添加执行权限,$ schmod +x /etc/rc.local然后将要执行的脚本加入其中:$ sudo vi /etc/rc.local在文件最后加上:sh /root/script.sh &然后保存文件并退出.使用 rc.local 文件来执行命令也是一样的,但是一定要记得…
需求:在tomcat启动时开启一个定时任务. 想法:容器启动时执行方法,最容易想到的就是servlet中可以配置load-on-startup,设置一个正整数也就可以随容器一起启动. 问题:上面的方法很好,但是由于定时任务需要去操作数据库,而项目采用了spring的依赖注入来管理对象,而servlet并不受Spring的管理.若此时在servlet中注入Spring管理的对象,则会报错:javax.naming.NameNotFoundException: Name com.test.InitS…
在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 在工作中遇到了项目初始数据需要跟其他项目同步的问题,也就是说在项目部署后,启动的时候就要同步另外一个项目的数据,这里写了个简单的实例,用的是监听器机制,创建一个类实现ServletContextListener 接口,实现里面的contextInitialized和contextDestroyed方法 pack…
在用docker创建mysql容器的时,有时候我们期望容器启动后数据库和表已经自动建好,初始化数据也已自动录入,也就是说容器启动后我们就能直接连上容器中的数据库,使用其中的数据了. 其实mysql的官方镜像是支持这个能力的,在容器启动的时候自动执行指定的sql脚本或者shell脚本,我们一起来看看mysql官方镜像的Dockerfile,如下图: 已经设定了ENTRYPOINT,里面会调用/entrypoint.sh这个脚本,我们把mysql:8这个镜像pull到本地,再用docker run启…
   使用opt/lampp/lampp start命令启动 错误提示:root@zabbix_server ~]# /opt/lampp/bin/mysqld_safe_helper: Can‘t create/write to file ‘/opt/lampp/var/mysql/zabbix_server.err‘ (Errcode: 13 "Permission denied") 很明显示没有权限,要给文件赋予权限,参考了 http://www.mamicode.com/inf…