不要在我的墓碑前哭泣,
我不在那里,我没有长眠。
我是凛冽的寒风,
掠过诺森德的雪原。
我是温柔的春雨,
滋润着西部荒野的麦田。
我是清幽的黎明,
弥漫在荆棘谷的林间。
我是雄浑的鼓声,
飞跃纳格兰的云端。
我是温暖的群星,
点缀达纳苏斯的夜晚。
我是高歌的飞鸟,
留存于美好的人间。
不要在我的墓碑前哭泣,
我不在那里,我没有长眠。
程二狗 摘自《暴雪--魔兽世界》
导读
在java的测试中,数据库是不可或缺的,平时我们要在windows上安装一个数据库,各种配置、环境变量啥的,整起来挺麻烦的,本文教你用docker容器部署一个mysql的镜像,简单省事,让你能很快投入到java的研究中
本文环境清单
1.win10系统
2.vitual box 6.0
3.CentOS7版本的Linux
4.docker
5.mysql8.0
6.mysql客户端 navicat 12
7.远程客户端 xshell 6小tips:如果你懒得下载相关软件,请移至文章末尾,涉及软件都分享在百度网盘中,如果你还没有百度网盘,对此感兴趣,请留言留下你的邮箱,我会把涉及软件打包发送给您
一、下载vitual Box 6.0
1.1.进入vitual box官网:https://www.virtualbox.org/
1.2.选择版本
1.3.选择windows系统的
image.png
二、下载CentOS7 版本Linux
小tips:linux有许多版本,出名的有Ubuntu(red Hat版本发展而来,中国企业应用最多的)、Debian(开发者的最爱)、red Hat等,想了解更多版本>>请点我
2.1进入CentOS7官网:https://www.virtualbox.org/
2.2选mini版本
2.3选择阿里云镜像
三、安装vitual box(简单,自行操作)
安装好的界面
四、在vitual box中安装CentOS
4.1 新建->填写名称->选择存放路径、版本 -> 点击下一步
4.2 默认1024MB,如果你电脑内存够大,可以设置为2048或更高 -> 下一步
4.3 创建 -> 下一步,用默认选中的就好
4.4 创建完成
4.5 选择要安装的centos
4.6 有线连接网络的,在这儿选择桥接网卡,无线的选择含有Wireless的
image.png
4.7 准备完成后,启动
tips:在这个界面,你的鼠标可能无法选中虚拟机界面?
解决办法
小tips:鼠标在虚拟机和正常windows系统之间切换:默认 win 键,在这儿可以重新设置热键,我的设置为左ctrl ,此时需要在windows屏和虚拟机屏幕上切换,按左ctrl就ok了
4.8 继续安装,点击进去-->完成即可
重要:设置网络连接
4.9 设置root密码,这儿就不设置其它用户了,登录就用root登录,能获得最高权限,如果设置了其它用户,默认是其它用户登录的,有些命令操作是不能用的
安装完成后,重启进入登录界面,账号:root 密码:前面设置的(例如123456)
由于在vitual box中操作命令很不方便,许多快捷键都不能使用,所以用了远程客户端连接虚拟机,进行相关命令操作,此处选择xshell 6,当然你也可以选择SecureCRT
五、使用xshell 6 建立远程连接
xshell的安装很简单,不再多说
5.1 安装好后 -->文件 -> 新建 -> 主机 ->确定
image.png
5.2 点击刚才创建的远程主机:root,勾选记住;输入设置的密码,勾选记住,确定
在这儿你可能不知道你的远程主机的ip?解决办法:在vitual box 中登录账号密码,如果你的密码中设置了数字,记得一定要把Num Lock 这个键开启哦,登录成功后
5.3 查看地址的命令:ip addr
在这儿,你可能还是看不到这个ip地址,莫慌?
输入命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33
如果你的文件不是ifcfg-ens33
请先输入:cd /etc/sysconfig/network-scripts (进入这个目录)
查看文件命令:ls
找到类似文件
打开: vi ifcfg-enp0s3
把最后的一行no该为yes
光标移动至末尾,输入命令 :wq! 再按Enter即可保存退出,:q!不保存退出,再用ip addr 命令 查看地址,此时就能看到ip地址了
tips:ctrl + c 结束当前进行中的命令,回到重新输入命令状态
5.4连接成功,大功告成
备注:缺少安装中配置网络的界面操作
六、Docker安装
什么是Docker?如果你还晓不得,请参看这篇文章
安装docker要求 CentOS 系统的内核版本不低于 3.10,查看centos版本:uname -r
安装docker:yum install docker 看到让你选择的,输入“y” (yes) 即可。
启动docker:systemctl start docker
将docker服务设为开机启动:systemctl enable docker (是字母l不是数字的1)
停止docker:systemctl stop docker
如果你的docker服务无法启动起来?
解决办法1:
升级软件包及内核,命令: yum update
重启linux
yum install Docker
systemctl start docker.service
如果办法1无法解决,请参看解决办法2
校验docker是否安装成功:docker --version
此处为了方便,关闭整个防火墙。在CentOS 7中防火墙由firewalld来管理,下面的命令如果你不能用,请用传统的方法2
方法1
在防火墙上开启3306端口:sudo firewall-cmd --add-port=3306/tcp
关闭防火墙:sudo service iptables stop
启动防火墙:sudo service iptables start
方法2
安装iptables-services:yum install iptables-services
关闭防火墙:systemctl stop iptables
开启防火墙:systemctl start iptables
重置防火墙:systemctl restart iptables
重启防火墙:systemctl reload iptables
查看docker状态:systemctl status docker
设置开机启动:systemctl enable iptables
保存设置:service iptables save
查看防火墙的状态(开启/关闭):service iptables status
七、安装mysql
第一种方法(推荐):
docker的官方仓库:https://hub.docker.com/explore/
用docker镜像中国加速:https://www.docker-cn.com/registry-mirror
安装命令:docker pull registry.docker-cn.com/library/mysql:8.0
registry.docker-cn.com/ :镜像加速地址
mysql:8.0 :安装的软件名称和版本号
第二种方法(下载比较慢)
搜索mysql版本:docker search mysql
安装mysql:docker pull mysql
安装成功后,使用 docker images 查看下载镜像列表
REPOSITORY:镜像名称
TAG:镜像标签(如果是latest,是最新的意思)
IMAGE ID:镜像ID,唯一标识
CREATED:创建时间
SIZE:镜像大小
查看容器中软件的运行情况:docker ps -a 或 docker ps
为mysql设置密码和开启端口映射
docker run --name mysql8.0 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d registry.docker-cn.com/library/mysql:8.0
--name 以什么名字启动容器
-e MYSQL_ROOT_PASSWORD=123456 设置服务器密码为123456
-p 3306:3306 将容器端口3306映射到服务器端口3306
-d registry.docker-cn.com/library/mysql:8.0 需要启动的容器的名称
注意:
1.如果你的mysql不是latest版本,拉取的mysql名称不是mysql,-d 后面设置的名称一定要和下面的保持一致,否则linux会认为你的msyql是latest版本的,会去重新拉取镜像
2.如果配置的容器名称重复,你可以用下面的方法删除一个容器
查看容器Id:docker ps -a
删除不想要的容器:docker rm 容器id
3.删除你不想要的镜像
docker rmi imageId(镜像ID) -f 强值删除
查看错误日志:docker logs 42f09819908b(容器ID)
用docker启动mysql:docker start 容器ID
用docker停止mysql:docker stop 容器ID
八、安装mysql客户端navicat(简单、自行安装)
打开mysql客户端:
创建连接,连接测试成功!大功告成
此处可能有以下错误
进入mysql容器:docker exec -it mysql容器id bash
-t 让docker分配一个[伪终端]
-i 让容器的标准输入保持打开;
进入mysql:mysql -u root -p
为用户授权
mysql> grant all privileges on . to root@"%" identified by "password" with grant option;
授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
flush privileges; //要刷新权限
退出mysql:exit;或quit;
退出mysql容器Ctrl+P+Q但不关闭docker
再次在mysql客户端连接就可以了
青草明年生,大雁去又回。
春风今年吹,公子归不归?
青石板青草绿,青石桥上青衣郎,哼着金陵调。
谁家女儿低头笑?
黄叶今年落,一岁又一岁。
秋风明年起,娘子在不在?
黄河流黄花黄,黄河城里黄花娘,扑着黄蝶翘。
谁家儿郎刀在鞘?
程二狗 摘自 烽火戏诸侯《雪中悍刀行》
涉及软件百度网盘
链接:https://pan.baidu.com/s/12aACqMp1CLAUohIb9VtHIg
提取码:nuy5
网友评论