oracle期末大实验遇到的问题①:docker连接mysql数据库

写在最前:

第一次尝试使用博客的形式记录问题,感觉比用word文档易于找到问题。一起共勉吧!!!

一、配置理论说明

此处直接采用mysql数据库进行连接,启动虚拟机里的docker,拉取mysql镜像,然后运行mysql容器。因docker内存有限,我的虚拟机里docker只能运行一个容器,所以此处决定在hadp02和hadp03这两台虚拟机的docker上各运行一个mysql容器,具体说明如下:

1.1  hadp03docker

hadp3的ip为192.168.155.183

使用mysql端口号为3307

用navicat进行连接,连接名为centosone,用户名为root,密码为my-root-123

1.2  hadp03docker

hadp02的ip为192.168.155.182

使用mysql端口号为3308

用navicat进行连接,连接名为centostwo, 用户名为root,密码为my-root-123

此处需要注意:因为在大数据处理课程上我使用docker中mysql端口号为3306和6666,这两个端口号已被占用,所以此处选择了3307和3308这两个端口号。端口不能随便选择,因为某些端口是有特殊意义的。

二、配置实例

1.1  hadp03docker

①在虚拟机的docker上运行mysql容器,端口号设置为3307

docker run \

-e MYSQL_ROOT_PASSWORD=my-root-123 \

-p 3307:3306 \

-v mysql57vol:/var/lib/mysql \

-v /home/my/custom:/etc/mysql/conf.d \

-d mysql:5.7

使用docker ps命令查看运行情况

③使用navicat工具进行连接

 

1.2  hadp02的docker

①在虚拟机的docker上运行mysql容器,端口号设置为3308

docker run \

-e MYSQL_ROOT_PASSWORD=my-root-123 \

-p 3308:3306 \

-v mysql57vol:/var/lib/mysql \

-v /home/my/custom:/etc/mysql/conf.d \

-d mysql:5.7

使用docker ps命令查看运行情况

③使用navicat工具进行连接

三、连接过程中出现的问题

在使用docker时每次都会出现很多问题,有重复的问题也有新的问题,为了避免重复网络查找,此处在此进行记录:

  • 在hadp02启动端口后,用navicat进行连接一直报错

原因:在使用docker image查看mysql的镜像时,我发现之前下载的mysql有问题,回想起来,当时因为下载太慢然后放在一边没管它,所以导致下载的mysql根本不能用。

解决方案:使用命令docker rmi 14905234a4ed 删除这个镜像,然后重新下载一个mysql:5.7的即可

  • 使用常用的命令启动3308端口号后,在navicat端连接时一直报错(Unknow error

原因:我发现一出现这个报错,要么是密码没输对,要么是我在docker上启动的端口根本就没有启动,虽然我使用docker ps查看时,显示是处于启动的状态。这个错误我遇到过很多次,到现在也不明白原因,不过可以用下面的方法解决这个问题。

解决方案:删除之前启动的容器,然后用这个命令启动docker run -itd --name mysql-dev2 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=my-root-123 mysql:5.7,就能成功。

这个命令也有要注意的地方:

  • 我把这个命名为mysql-dev2,因为当时显示mysql-dev已被使用,以后要启动新的容器,可能就要命名为mysql-dev3mysql-dev4、等等等等了。
  • 最后的mysql要指定版本号,比如我的就是mysql5:7
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值