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;
赞(2)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » docker mysql启动时执行初始化sql

登录

找回密码

注册