您的位置:首页 > 运维架构 > Docker

docker 安装mysql

2016-09-03 10:02 405 查看

Step 1 下载镜像并初始化

下载镜像

docker pull mysql


下载官方的mysql docker镜像

初始化mysql

docker run -v /data/var/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=XXXXXX mysql


为mysql镜像设置初始密码,-v 命令使用数据卷(Data volume)指定本地的文件目录:/data/var/mysql/ 与容器内部的mysql数据目录建立映射(以便数据能够持久化)

关闭容器

docker stop [CONTAINER ID]


Step 2 配置MySQL

以交互式模式启动mysql镜像

docker run -it -v /data/var/mysql/:/var/lib/mysql mysql /bin/bash


启动时,指定使用 -v 命令以本地的文件目录:/data/var/mysql/ 作为 数据卷(Data volume)启动docker镜像,-iv 命令指定以交互式终端形式在镜像内部运行bash

【docker内】在镜像内部启动mysql守护进程

mysqld_safe&


启动mysqld作为后台进程

【docker内】登录mysql

mysql -uroot -pXXXXXX


【docker内】创建mysql账号,设置访问权限

grant all privileges on *.* to 'USER_NAME'@'%' identified by 'PASSWORD';

flush privileges;


将容器内的mysql配置文件拷贝到本地

docker cp [CONTAINER ID]:/etc/mysql/my.cnf /data/local/my.cnf


将docker内的mysql配置文件拷贝到本地的文件目录:/data/local/my.cnf

注意:我拷贝完之后不知道为什么my.cnf变成一个目录了,需要在my.cnf目录下的my.cnf文件单独mv出来

关停容器

docker stop [CONTAINER ID]


Step 3 正式启动mysql容器

以守护进程方式启动mysql镜像

docker run -d -p 5506:3306 -v /data/var/mysql/:/var/lib/mysql -v /data/local/my.cnf:/etc/mysql/my.cnf mysql


-d 命令以守护进程形式启动mysql镜像

-p 命令完成本地端口与镜像端口的映射(本例中将镜像的3306端口映射为了本地的5506端口,外部应以5506访问)

-v 命令使用数据卷(Data volume)挂载本地的文件目录,作为mysql容器的数据文件和配置文件

all is done 可以正常访问mysql了

References

[1] docker如何简单部署mysql: http://blog.csdn.net/ownfire/article/details/50274335
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql docker 配置