1、简介
本文主要介绍如何在centos7.3的环境下,使用docker安装mysql,最终实现使用navicate连接运行起来的mysql。
2、操作
(1)首先安装docker,具体的步骤请移步至文章: centos7.3安装docker
(2)拉取mysql镜像,一个mysql镜像可以运行起来多个mysql容器,而每一个容器我们都可以用navicate去连接它,也就是说这个运行起来的mysql容器才是实打实的navicate连接的mysql服务器。对于镜像和容器的关系可以用类与对象的关系进行对比理解。希望我这样的解释能够让您有新的体会。
(2.1)查看当前的所有的mysql镜像
docker search mysql
(2.2)然后我们进行镜像拉取,指定mysql版本为8.0.16,版本号可以按照自己需要的替换。
docker pull mysql:8.0.16
(2.3)下载成功后,我们可以通过该命令来查看所有下载的镜像
docker images
(2.4)根据mysql镜像,生成相应的mysql容器
docker run -p 3306:3306 --name mysql01 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.16
以上命令几个要注意的地方: --name后面的名字代表的是启动的容器的名字,最好自己取;MYSQL_ROOT_PASSWORD=123456代表数据库的登录密码是123456,这里注意修改;mysql:8.0.16,这里的8.0.16要根据自己实际安装的版本号进行修改。
(2.5)此时可以通过docker ps 来查运行起来的容器
docker ps
(2.6)接下来进入到运行起来的mysql容器的内部,进行几个基础的操作
docker exec -it 936182cab81e bash
这里的936182cab81e是我自己的mysql容器id,你们也要拿自己的id,不要和我的一样。
(2.7)进入到mysql容器以后,再登录到mysql里面
mysql -uroot -p123456
这里的密码就是刚刚启动容器的时候设置的。
(2.7)成功登录mysql以后,分别执行下面两条指令,作用是让mysql允许被远程客户端连接让mysql允许被远程客户端连接,并且刷新配置。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
FLUSH PRIVILEGES;
(2.8)到了这一步就剩下服务器接口开放的问题了。接口开放分为两步,一步是自己的centos7.3要开启3306端口,另一步是开启阿里云安全组中的3306端口。
(2.8.1)首先我们先来开启centos7.3自身服务器的3306端口
(1)开启防火墙功能
service firewalld start
(2) 永久开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
(3) 重启防火墙服务,让配置生效
firewall-cmd --reload
(2.8.2) 接下来我们来开启阿里云安全组中的3306端口,我们知道,阿里云也是分有多种服务器的比如ECS,轻量级应用服务器 ...。如果您用的是ECS那么请移步至这篇文章:新版阿里云服务器的安全组配置。如果是轻量级应用服务器请看下面: 先找到如下图所示的页面,然后选择 安全 -> 防火墙 -> 添加规则。
然后再如下这张图所示去填写即可开放阿里云安全组中的3306端口
(2.9)最后就可以用navcate去连接了
3、总结
以上就是在centos7.3上使用docker安装Mysql了,希望我的文章有帮到您,加油~。