MySQL学习2 使用docker建立mysql服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL学习2 使用docker建立mysql服务相关的知识,希望对你有一定的参考价值。
在centos 7的服务器上运行
yum install docker
安装完docker后,运行
service docker start 启动docker
由于公司的服务器连接dockerhub一直有些问题,估计是gfw导致的,所以只能下载一个国内的镜像
https://hub.tenxcloud.com/ 大家可以到时速云搜索自己需要的image
我选择了star最高的一个mysql的镜像
使用以下命令将mysql的image下载到了本地
docker pull index.tenxcloud.com/tenxcloud/mysql
完成后,在本地可以使用docker images查看镜像
镜像完成下载后,现在可以在本地将docker镜像拉起来了
在时速云上也有详细的启动docker的命令可查看
可参考这个url
https://hub.tenxcloud.com/repos/tenxcloud/mysql
但是教程上写的启动命令是
docker run -d -p 3306:3306 tutum/mysql
但是不能直接执行,
具体的命令如下,需要将镜像地址改成你之前在本地docker images后显示的地址
是因为,时速云上这个image是tutum/mysql 的国内镜像,如果我们在本地使用,
不能直接执行这个(时速云也够偷懒的,估计是直接抄dockerhub过来,也不注释一下)
docker run -d -p 3306:3306 index.tenxcloud.com/tenxcloud/mysql
解释一下命令,-d 是后台运行,-p 是将容器内的3306端口映射到docker host的3306端口, 举个栗子,如果你的docker host主机的ip是192.168.0.1 那么你从其他的服务器上访问运行在192.168.0.1上的这个mysql的docker服务,只需要访问192.168.0.1:3306即可。
运行完成后,可以使用docker ps查看docker的运行状态
可以看到使用index.tenxcloud.com/tenxcloud/mysql的镜像启动了一个contatner id为20c1b8a3ad3a的容器(请忽略启动时间,这个容器我是从我测试环境直接截图的),names是系统随机给的
现在容器启动起来了,我们可以在外部使用mysql workbench连接这个mysql服务,或者进入到容器内,使用mysql命令进行一些操作
我们先使用docker exec命令进入到这个容器内,具体命令格式如下
docker exec –it 容器id /bin/bash
其中it 是指启用交互模式 , /bin/bash是进入后使用bash
进入容器后,显示如下终端提示,其中@后是容器id号,在容器里可以执行大多的linux命令
运行mysql命令
运行SHOW DATABASES;
可以看到这台mysql服务器里所建立的库了。
我们再试一下使用mysql workbench连接数据库
先安装完mysql workbench,使用mysql workbench 连接mysql会发现,不知道mysql的admin账号是什么
我们再回到https://hub.tenxcloud.com/repos/tenxcloud/mysql 上面详细写了初始账号的信息
用户名是admin,但是密码是随机的。我们需要通过docker logs去查看这个密码
我们使用docker logs 容器id号 查看容器的日志,密码出现在日志里。
我们使用admin和日志里查到的密码连接mysql库
妥妥的连上了,建库建表啥的都可以在图形界面下完成。
docker 版本的mysql基本可以使用了。
以上是关于MySQL学习2 使用docker建立mysql服务的主要内容,如果未能解决你的问题,请参考以下文章
基于docker的php调用基于docker的mysql数据库的方法