当前位置: 首页 > news >正文

在阿里云使用Docker部署MySQL服务,并且通过IDEA进行连接

阿里云使用Docker部署MySQL服务,并且通过IDEA进行连接

这里演示如何使用阿里云来进行MySQL的部署,系统使用的是Linux系统 (Ubuntu)。

为什么使用Docker? 首先是因为它的可移植性可以在任何有Docker环境的系统上运行应用,避免了在不通操作系统上产生的各种适配问题。另外还有其他的比如,环境隔离,易于部署和维护等等优势。

阿里云

  1. 首先拥有一个阿里云的服务器,然后根据下面指令去安装Docker:

    • 这一步是常规建议操作更新下先,防止任何的不适配
    sudo apt-get update
    sudo apt-get upgrade
    
    • 安装Docker
     sudo apt install docker
    
  2. 安装好之后需要先进行阿里云的镜像配置加速,因为docker是外网需要科学上网,直接拉取镜像可能拉取不到。这里镜像加速的配置的网址:阿里云配置镜像加速器

    或者直接输入以下命令:

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {"registry-mirrors": ["https://uylbxudk.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

这里的配置结束后就可以正常的拉取所需要的镜像了。

部署MySQL

  1. 启动Docker
sudo systemctl start docker 
sudo systemctl enable docker
  1. 创建一个Docker网络,以便不同容器之间通信
sudo docker network create mysql-network

为什么要创建单独的Docker网络?

  • 便于容器之间的通信:如果你有多个容器需要相互通信,比如一个应用容器和一个数据库容器,放在同一个网络中可以让它们通过容器名称相互访问,而不是依赖IP地址。

  • 增强隔离和安全性:自定义网络让你的容器彼此隔离,只有在同一个网络中的容器才能互相访问,这样增加了安全性,防止其他容器或主机访问它们。

  1. 启动MySQL容器
sudo docker run --name mysql-container --network mysql-network -e MYSQL_ROOT_PASSWORD=yourpassword -d -p 3306:3306 mysql:latest

​ 使用换行符便于理解:

sudo docker run --name mysql-container \--network mysql-network \-e MYSQL_ROOT_PASSWORD=yourpassword \-d \-p 3306:3306 \mysql:latest
  • sudo docker run:使用sudo权限运行Docker容器。

  • --name mysql-container:为容器指定一个名称mysql-container

  • --network mysql-network:将容器连接到名为mysql-network的Docker网络。

  • -e MYSQL_ROOT_PASSWORD=yourpassword:设置mysql的用户密码,默认root用户。

  • -d:以分离模式运行容器(后台运行)。

  • -p 3306:3306:将主机的3306端口映射到容器的3306端口。

  • mysql:latest:使用最新版本的MySQL镜像。(如没有会自动拉取)

以上的操作都完成后使用 docker ps 命令查看mysql服务是否在运行:
在这里插入图片描述

  1. 配置阿里云安全组放行3306端口,这一步很重要不然外部不能连接。
  • 找到服务器的安全组:

在这里插入图片描述

  • 放行3306端口,可以选择 ‘‘快速添加’’ 直接勾选MySQL,或者手动添加都可以:
    在这里插入图片描述

测试连接MySQL

通过本地终端直接测试MySQL连接(本地需要有mysql):

mysql -h [yourIPAddress] -P 3306 -u root -p

通过IDEA工具来测试连接:

  1. 配置

在这里插入图片描述

  1. 测试连接成功

在这里插入图片描述

http://www.lryc.cn/news/384716.html

相关文章:

  • Spring Boot中的国际化(i18n)实现技巧
  • vite-ts-cesium项目集成mars3d修改相关的包和配置参考
  • 「树莓派入门」树莓派基础04-VNC连接与配置静态IP
  • JAVA编程题期末题库【中】
  • 【十年JAVA搬砖路】——MYSQL备份使用mysqldump
  • MetaGPT全面安装与配置指南
  • 云计算期末综合测试题
  • vue3-cropperjs图片裁剪工具-用户上传图片截取-(含预览视频)
  • 【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第48课-可视化控制机器人
  • Java Stream API揭秘:掌握List流操作,打造高效数据处理流程
  • 最新Java面试题及答案(Java基础、设计模式、Java虚拟机(jvm))
  • 详解Elastic Search高速搜索背后的秘密:倒排索引
  • 数据库操控指南:玩转数据
  • 前端 CSS 经典:图层放大的 hover 效果
  • Flutter实现页面间传参
  • 如何在Java中实现安全编码
  • C#开发-集合使用和技巧(八)集合中的排序Sort、OrderBy、OrderByDescending
  • 仓库管理系统
  • AI绘画Stable Diffusion:超级质感真人大模型,逼真青纯!
  • CMake笔记之CMAKE_INSTALL_PREFIX详解以及ROS中可执行文件为什么会在devel_lib中
  • 数据结构之二叉树的超详细讲解(3)--(二叉树的遍历和操作)
  • Arduino - 旋转编码器 - 伺服电机
  • 儿童电动音乐牙刷OTP芯片方案:NV040C,耐温耐压,抗干扰能力强
  • Sentinel链路流控模式失效的解决方法
  • Web应用安全测试-专项漏洞(一)
  • VMware ESXi 8.0U2c macOS Unlocker OEM BIOS Huawei (华为) FusionServer 定制版
  • python中的高阶函数介绍
  • 华为OD机试 - 石头剪刀布游戏(Java 2024 D卷 200分)
  • [开发|java] LocalDate转化为LocalDateTime
  • 介绍几种 MySQL 官方高可用方案