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

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

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

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

阿里云

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

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

    或者直接输入以下命令:

    bash 复制代码
    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
bash 复制代码
sudo systemctl start docker 
sudo systemctl enable docker
  1. 创建一个Docker网络,以便不同容器之间通信
bash 复制代码
sudo docker network create mysql-network

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

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

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

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

​ 使用换行符便于理解:

bash 复制代码
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):

bash 复制代码
mysql -h [yourIPAddress] -P 3306 -u root -p

通过IDEA工具来测试连接:

  1. 配置
  1. 测试连接成功
相关推荐
LemonSmile_1 小时前
CC Switch 配置 Claude Code 接入 阿里云百炼
阿里云·云计算·claude·百炼
DevilSeagull4 小时前
MySQL(2) 客户端工具和建库
开发语言·数据库·后端·mysql·服务
远洪5 小时前
claude code 国内安装使用
数据库·mysql
wangbing11257 小时前
MySQL 官方 GPG 密钥过期问题
数据库·mysql
重生之我是Java开发战士7 小时前
【MySQL】事务 & 用户与权限管理
android·数据库·mysql
杨浦老苏8 小时前
自托管网页EPUB阅读器Codexa
docker·群晖·电子书·calibre·opds
2401_895521348 小时前
MySQL中的count函数
数据库·mysql
杨浦老苏8 小时前
开源文件协作平台OpenCloud
docker·文件管理·群晖·协作
.小小陈.8 小时前
MySQL 入门到实战:从基础概念到核心存储引擎
数据库·mysql
yoyo_zzm8 小时前
Laravel10.x新特性全解析
数据库·mysql·架构