簡體   English   中英

在 Kube.netes 中運行 Mysql 時訪問被拒絕

[英]Access denied when running Mysql in Kubernetes

我是 Kube.netes 的新手。 這是我的情況:
我在 Github 上找到了一個開源項目,它是一個在線書店: https://github.com/devdcores/BookStoreApp-Distributed-Application (無論如何,感謝這個 repo 的作者)。 這個項目是用微服務架構編寫的,它有一個 docker-compose 來立即構建和運行容器。 我試過了,它奏效了。 但是當我嘗試在 Kube.netes 和 Helm 中構建和運行這個項目時,出現了問題:
某些服務無法連接到 mysqldb:用戶 'bookstoreDBA'@'172.17.0.1' 的訪問被拒絕(使用密碼:YES) 所以我查看了源代碼並發現了這個:

datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://bookstore-mysql-db:3306/bookstore_db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
    username: bookstoreDBA
    password: PaSSworD

我的問題是: url是否設置正確? 這是導致問題的原因嗎? 如果是(不是),那么如何解決這個問題?
P/S:這些是 mysql 容器的環境變量和service.yaml

env:
    MYSQL_DATABASE: bookstore_db
    MYSQL_PASSWORD: PaSSworD
    MYSQL_ROOT_PASSWORD: r00tPaSSworD
    MYSQL_USER: bookstoreDBA

# service.yaml
apiVersion: v1
kind: Service
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.22.0 (955b78124)
  creationTimestamp: null
  labels:
    io.kompose.service: bookstore-mysql-db
  name: bookstore-mysql-db
spec:
  ports:
    - name: "3306"
      port: 3306
      targetPort: 3306
  selector:
    io.kompose.service: bookstore-mysql-db
status:
  loadBalancer: {}

我使用mysql 客戶端創建bookstoreDBA用戶並授予所需的權限。 然后重啟集群。 現在一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM