centos7通过docker去实现mysql然后navicat连接
Posted 闭关苦炼内功
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7通过docker去实现mysql然后navicat连接相关的知识,希望对你有一定的参考价值。
文章目录
1、首先准备环境
-
(2)安装centos7
centos7 无界面安装- 无界面的好处就是:
a. 安装的时候快速(有界面安装的过程很慢)
b. 对内存占用比较小(有界面会占用内存资源,导致虚机很卡)
- 无界面的好处就是:
-
(2)ssh远程工具
http://210.22.22.150:3731/software/Linux/ssh-tools/- 个人推荐使用 --> MobaXterm
- 下载后解压即用
-
(3)网络配置
a. 宿主机win7要能连网,能上百度
b. vmware要配置好网络
centos虚拟机NAT模式网络访问外网
看下已经配置好的VM虚机NAT网络
然后去配置宿主机的网络
c. ssh远程之前,宿主机win7要能够ping通vm虚机
ping之前,先在宿主机 win + r --> 运行 --> cmd --> ipconfig 查看网络
然后去vm虚机,终端下 ifconfig 查看网络,如果 command not found
那就yum install -y net-tools
确保宿主机和vm虚机是在相同网段的
ifconfig没有那个命令
使用ip a能查到enss33网卡名
vm虚机没有网络,所以需要手动去配置网络
请严格按照以下配置文件内容,有则改之,无则勿动,记得把UUID那行删掉
手动修改
都可以ping baidu.com,那就可以上外网了
下面VM虚机安装 net-tools ,安装前无法使用ifconfig
安装后再看,可以用ifconfig查看ip信息了
到这,基本网络搞定
2. 通过宿主机win10 ssh远程 VM虚机
- 个人推荐使用 --> MobaXterm
- 下载后解压即用
双击快捷方式打开它
选择ssh
点完OK然后输入密码
、即可登录如下所示
就可在里面复制粘贴了
到这就为后面安装docker做好铺垫了
ctrl + insert键 复制
shift + insert键 粘贴
3. 安装docker
# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
# Step 4: 开启Docker服务
systemctl start docker
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
4. 使用docker安装mysql
先查看一下
搜一下mysql的容器镜像
docker search mysql:5.7.28
编写Dokcerfile文件
vi Dokcerfile
#!/bin/bash
FROM mysql:5.7.28
编写build去构建
vi build
#!/bin/sh
docker build -t docker-mysql:5.7.28 .
然后加可执行权限
chmod u+x build
- 编写run脚本去创建并启动容器
vi run
#!/bin/bash
cmd=(
docker run
-dit
--name mysql57-1
--hostname=mysql57
--privileged=true
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=qwer@1234
docker-mysql:5.7.28
)
"${cmd[@]}"
# 解释下各个参数的含义
-d: 后台运行容器,并返回容器ID
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
--name=mysql57-1: 为容器指定一个名称
--hostname=mysql57: 指定容器的hostname
-v: 绑定一个卷
--privileged=true: 以特权方式启动容器
-e MYSQL_ROOT_PASSWORD=qwer@1234 指定容器中mysql数据库初始root密码
然后加可执行权限
chmod u+x run
- 然后先执行build构建,其实是拉取容器镜像,然后改为一个新的名字,tag为docker-mysql:5.7.28
./build
- 然后再执行run,是创建并启动容器
./run
- 然后进入容器内部
可以使用容器Name进入
docker exec -it mysql57-1 bash
或者使用容器ID进入
docker exec -it container-ID bash
简化一些,使用容器ID前3位
- 进入容器后,进入mysql数据库
mysql -uroot -pqwer@1234
exit退出后重新进入,试试
再退出数据库,退出容器,查看容器状态
5. 使用Navicat远程连接mysql
- 用Navicat可以对数据库用户进行管理
当然自己用root无妨,其实一般不用root,所以可以创建一个用户
然后服务器权限,这里指的是对数据库操作的权限
一般的增删改查就ok
然后再点保存
可以看到
下面连接测试
所以就使用个人创建的用户就可以了
尤其是开发的时候,千万要慎用 mysql的root用户,搞不好删库,麻烦大了
6. 好处说明:
使用这种方式,对于个人跑数据库表测试是非常nice的,免安装
直接对容器进行操作就OK了,重启数据库直接重启容器就好了啦
-
重启容器
-
再次进入
7. 备份意识(避坑防甩锅)
1、打快照
这种方式其实就是保护环境,如果后面(sudo rm -rf /*)误删操作,还可以回退到快照1状态的环境
2、对mysql数据库进行自动化备份
参考:mysql5.7.29数据库备份之linux服务器自动备
滴!没有备份意识的码农不是好码农,当然,你可以不备份,那就等着背锅咯
打完收工,你学会了没?
肝文不易,如果觉得写得好的话
点个赞再走哈,记得收藏+关注!
以上是关于centos7通过docker去实现mysql然后navicat连接的主要内容,如果未能解决你的问题,请参考以下文章
阿里云服务器CentOS7.3上通过Docker安装MySQL