在Docker中使用MySQL 8 版本数据库

本文主要目的是:在虚拟机环境下使用Docker,安装MySQL数据库,然后再局域网中访问它。
系统环境:

1、在Linux下安装Docker

1、查看centos版本
# uname -r
  3.10.0-693.el7.x86_64
 (要求:大于3.10; 如果小于的话需要升级)
# yum update
 (运行这条命令要很长时间)
2、安装docker
# yum install docker
3、启动docker
# systemctl start docker
4、查看docker版本
# docker -v
5、停止docker
# systemctl stop docker
6、重启docker
systemctl restart docker
7、为了方便设置开机启动docker
# systemctl enable docker

2、在Docker中下安装MySQL

  1. 查找Docker Hub上的mysql镜像
    在这里插入图片描述
1、搜索镜像
# docker search mysql/mysql-server

2、拉取镜像
# docker pull mysql/mysql-server
查看镜像列表
# docker images

3、根据镜像启动一个mysql的docker容器
# docker run --name=mysql01 -d mysql/mysql-server
参数-d:后台运行

4、查看全部容器列表
# docker ps -a
只查看运行中的容器
# docker ps

5、启动容器
# docker start 容器id

6、删除一个容器
# docker rm 容器id

7、关闭linux的防火墙
# service firewalld stop
查看防火墙状态
# service firewalld status 

8、查看容器的日志
docker logs container-name或container-id

在这里插入图片描述
在这里插入图片描述
以上我们就完成了在docker中安装数据库,接下来我们要把docker上容器的端口映射到虚拟机,这样我们才能在局域网中通过Windows下Navicat工具访问docker容器中的MySQL。

3、端口映射

这里介绍两种端口映射的方式:

1)-p(小写)可以指定端口号3306:3306(外部虚拟机的端口号:Docker容器内的端口号)
# docker run --name mysql02 -p 3306:3306 -d mysql/mysql-server

2)-P(大写)随机生成端口号
# docker run --name mysql03 -P -d mysql/mysql-server

更多关于docker run的参数见附录

映射完成后我们使用docker ps 命令查看端口映射情况:
在这里插入图片描述
下面只以mysql02容器做演示,其他安装MySQL的docker容器可以同样操作。

1、查看mysql日志
# docker logs mysql02

2、查看自动生成的密码并记下来
# docker logs mysql02 2>&1 | grep GENERATED
[Entrypoint] GENERATED ROOT PASSWORD: ycgONsaqJIdLyS,ygR@xYJEhGon

3、运行mysql02容器里的MySQL,以root用户登录,密码为上面自动生成的密码
# docker exec -it mysql02 mysql -uroot -p

4、更改root用户的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.08 sec)

5、退出
mysql> \q
Bye

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值