Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Initialisieren einer in einem AWS EKS bereitgestellten MySQL-Datenbank

Auch in Kubernetes ist es einfach. Sie können dies wie folgt tun,

  1. Legen Sie Ihre init.sql ab Datei in ein Kubernetes-Volume .
  2. Mounten Sie dieses Volume in /docker-entrypoint-initdb.d Verzeichnis Ihres MySQL-Pods.

Hier ist eine YAML-Beispieldatei:mysql-init-demo.yaml

Sie können auch einen init-container verwenden um init.sql herunterzuladen Datei in ein Kubernetes-Volume, das auf /docker-entrypoint-initdb.d gemountet ist Verzeichnis des MySQL-Containers.

UPD: Wie Sie in Update angegeben haben, funktioniert die von Ihnen angegebene Lösung nicht für Sie. Ich denke init-container Ansatz wird für Sie am besten geeignet sein. So können Sie vorgehen:

  1. Pvc erstellen. Der Name sei init-script .
  2. Fügen Sie nun einen init-container hinzu zu Ihrem MySQL-Pod. Mounten Sie dieses init-script pvc in irgendeinem Verzeichnis dieses init-container . Konfigurieren Sie Ihren init-container so dass es Ihre init.sql herunterlädt Datei in diesem Verzeichnis.

  3. Mounten Sie das init-script im MySQL-Container unter /docker-entrypoint-initdb.d

Lassen Sie mich wissen, wenn Sie ein Beispiel mit init-container benötigen Ansatz.

UPD-2: Ich habe ein Beispiel für init-container hinzugefügt sich nähern. Sie finden es hier .