docker 生成centos容器并安装MySQL,使用SQLyog连接centos容器里的MySQL

安装

dockers中本来就安装了centos7j镜像,如下:
在这里插入图片描述
所以直接生成centos7容器,后面由于需要将cnetos容器的22端口和3306端口映射出去,以实现通过xshell操作centos和sqlyog连接centos里的mysql,将Docker容器的22端口绑定到主机的50022端口上,将Docker容器的3306端口绑定到主机的33010端口上
绑定前确保50022和33010端口没有被占用,查看端口占用

netstat -ano|findstr "端口号"
#杀死占用端口
tasklist|findstr "15984"

然后实例化centos7

docker run -itd -p 50022:22 -p 33010:3306 --privileged --name myCentos centos:7 /usr/sbin/init

参数解析:

  • -d ——后台运行容器并返回容器ID
  • -i ——交互模式运行容器,通常与 -t 同时使用
  • -t ——为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • –name ——为容器指定一个名称,此例为容器指定名为centos7
  • –privileged: 可以使container内的root拥有真正的root权限
    -d: 后台运行容器,并返回容器ID;
    -i: 以交互模式运行容器,通常与 -t 同时使用;
    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用

连接(开启)容器

docker exec -it mySqlCentos /bin/bash

# 查看CentOS系统信息
cat /etc/os-release

至此,CentOS7的系统已经跑起来了,要退出只需在终端键入exit回车。如果要停止容器,在终端执行docker container stop 容器ID即可;运行为docker container start 容器ID;要移除容器则执行docker container rm 容器ID

容器中安装jdk

查看jdk版本

yum search java|grep jdk

安装JDK

yum install -y java-1.8.0-openjdk

image-20210718113207000

安装sshd

// 安装网络工具,可以使用ifconfig查看网卡ip信息
yum -y install net-tools
// 安装ssh服务
yum -y install openssh-server
// 需要的话,安装ssh客户端
yum -y install openssh-clients
// 需要的话,安装passwd,修改root用户密码,这里就不细说了
yum -y install passwd
//重置密码 123456
echo 123456 |passwd --stdin root

将myCentos制作成镜像

docker commit myCentos centos-jdk:8
启动ssh服务

要进入到myCentos环境

systemctl start sshd

使用Xshell连接

localhost是咱们docker宿主机的ip,启动docker时映射的端口号是50022,所以需要使用这个端口连接ssh服务,点击连接按钮后再弹出的窗口输入你之前设置的密码,即可完成连接。
image-20210718163605391
centos中启动MySQL

systemctl start mysqld

查看启动状态

systemctl status mysqld

image-20210718170430111
ctrl+c 退出 找回密码

grep "password" /var/log/mysqld.log

image-20210718170859013ctrl+insert 复制 密码

shift+insert粘贴 密码
输入密码:

mysql -u root -p

image-20210718171753346
密码输入是不显示的

修改密码策略

set global validate_password.policy=0;
set global validate_password.length=4;

#展示密码制定策略
show variables like 'validate_password%';

#原因:MySQL8.0开始将授权和创建用户分开了,分开执行即可

创建新用户并设置密码

create user 'seckill'@'%' identified by '123456';

授权

grant all privileges on *.* to 'seckill'@'%';
flush privileges;

在这里插入图片描述
localhost是咱们docker宿主机的ip,启动docker时映射的端口号是33010,所以需要使用这个端口连接mysql服务,点击连接按钮后再弹出的窗口输入你之前设置的密码,即可完成连接。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值