阿里云中通过docker-compose 创建 MySQL 外部无法连接

5 篇文章 0 订阅
3 篇文章 0 订阅

在阿里云服务器上通过docker-compose 创建 MySQL 外部无法连接,进入容器内部通过命令可以连接,查看进程运行也正常,外部通过各种连接工具都无法进行连接,百度了半个小时,发现同样的问题有很多种解决方法,

我的报错信息是通过SQLyog连接的时候报“2003“异常

docker-compose.yml

version: '3.1'
services:
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
    ports:
      - 3306:3306
    volumes:
      - ./data:/var/lib/mysql

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

汇总网上常见的解决方法:

  1. 防火墙的问题,查看防火墙是否开启,将防火墙关闭,或者将3306(数据库对应的端口)打开
  2. docker-compos.yml配置文件的问题:往docker-compose.yml中添加"command: --default-authentication-plugin=mysql_native_password "一行,我的配置文件已经添加了,因此可以排除这个解决方案
  3. 阿里云服务器本身的安全策略,需要手动进入阿里云服务器的控制台开启对应的端口,我是通过第三种方法解决的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值