You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过MySQL Workbench访问MicroK8s集群中的MySQL数据库?

访问MicroK8s集群中MySQL的可行方案

方案一:用NodePort暴露服务(适合测试/小规模场景)

这是最直接的方式,不需要额外组件:

  • 编辑MySQL的Service配置,把类型改成NodePort:
    apiVersion: v1
    kind: Service
    metadata:
      name: mysql-service
    spec:
      type: NodePort
      ports:
        - port: 3306
          targetPort: 3306
          nodePort: 30006 # 可选,指定30000-32767之间的端口,不指定会自动分配
      selector:
        app: mysql # 对应你的MySQL Pod标签
    
  • 应用配置:kubectl apply -f mysql-service.yaml
  • 查看分配的端口:kubectl get svc mysql-service
  • MySQL Workbench里填MicroK8s节点IP:NodePort(比如192.168.1.100:30006),用你部署MySQL时设置的账号密码连接。

方案二:用MicroK8s自带LoadBalancer(适合需要固定IP的场景)

MicroK8s集成了MetalLB,启用后能给Service分配固定外部IP:

  • 先启用MetalLB:microk8s enable metallb
  • 按提示输入可用的IP段(比如192.168.1.200-192.168.1.210)
  • 修改MySQL Service的类型为LoadBalancer:
    apiVersion: v1
    kind: Service
    metadata:
      name: mysql-service
    spec:
      type: LoadBalancer
      ports:
        - port: 3306
          targetPort: 3306
      selector:
        app: mysql
    
  • 应用后查看分配的IP:kubectl get svc mysql-service
  • Workbench直接用这个IP加3306端口连接即可。

方案三:临时端口转发(适合调试)

如果只是临时访问,不需要持久化暴露服务,用端口转发最省事:

  • 执行命令:kubectl port-forward svc/mysql-service 33060:3306
  • 本地33060端口会转发到集群内MySQL的3306端口
  • Workbench连接localhost:33060就能访问。

排查之前Ingress失败的问题

如果一定要用Ingress,先检查这几点:

  • 确认MicroK8s启用了Ingress插件:microk8s enable ingress
  • Ingress配置必须加TCP协议注释,MySQL是TCP服务,HTTP规则不生效:
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: mysql-ingress
      annotations:
        nginx.ingress.kubernetes.io/backend-protocol: "TCP" # 关键注释,不能少
    spec:
      rules:
      - host: mysql.yourdomain.com
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: mysql-service
                port:
                  number: 3306
    
  • 检查Ingress Controller Pod状态:kubectl get pods -n ingress
  • 确保本地能解析mysql.yourdomain.com到MicroK8s节点IP,或者在本地hosts文件手动添加映射。

内容的提问来源于stack exchange,提问作者Uvindu Sahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:45:07