今天所做的努力
都是在为明天积蓄力量

docker mysql启动时执行初始化sql

docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

本文介绍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;
赞(0)
未经允许不得转载:流觞 » docker mysql启动时执行初始化sql
分享到: 更多 (0)