自学内容网 自学内容网

【Docker】保姆级 docker 容器部署 MySQL 及 Navicat 远程连接

🥰🥰🥰来都来了,不妨点个关注叭!
👉博客主页:欢迎各位大佬!👈

在这里插入图片描述


本期内容基于 MySQL 5.7 版本~

1. docker 容器部署 MySQL

1.1 拉取mysql镜像

docker pull mysql:5.7

1.2 启动容器

docker run -d --name oj-mysql -p 3306:3306 -e "TZ=Asia/Shanghai" -e "MYSQL_ROOT_PASSWORD=123456" mysql:5.7

输入这一行命令之后,有一个容器 id,记得拷贝,下面进入容器中,需要使用这个容器 id

1.3 进入容器

docker exec -it 容器id bash

这个容器 id 记得替换哦~

1.4 使用 root 用户登录

mysql -u root -p123456

成功后,如下图:

在这里插入图片描述

2. Navicat 连接远程服务器里 docker 中的 mysql

2.1 点击 SSH

在这里插入图片描述
注意:这里不要直接点测试连接了,因为还没填完呢!!!

2.2 点击常规

在这里插入图片描述
即可完成连接~

3. 可能遇到的问题

3.1 2013 - Lost connection to server at ‘handshake: reading initial communication packet’, system error: 0

报错截图如下:

在这里插入图片描述

解决方案1:查看阿里云是否添加了这个安全组 3306 端口!

没有则进行添加~再重新连接试试

(笔者添加错了实例的安全组,导致一直报 2013 错误码,心想,命名添加了呀,然后折腾几个小时检查其它配置等,甚至连不同的网试,小伙伴们千万不要犯这样的错哦,简直不要太难受啦!)

在这里插入图片描述

安全组如何添加可参考往期内容:【Linux】手把手教你如何部署Java项目至云服务器上

解决方案2:容器共享宿主机网络配置

通过命令docker run --net host 这个命令让容器共享宿主机网络配置;

docker run --net host -d -p 3306:3306 --name ldy.mysql -e MYSQL_ROOT_PASSWORD=root docker.io/library/mysql:latest

✨✨✨本期内容到此结束啦~ 希望小伙伴们过程中一切顺利~


原文地址:https://blog.csdn.net/m0_61814277/article/details/145147664

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!