sql >> Databasteknik >  >> RDS >> Mysql

Hur initierar man mysql-behållare när den skapas på Kubernetes?

Enligt MySQL Docker-bilden README , den del som är relevant för datainitiering vid containerstart är att säkerställa att alla dina initialiseringsfiler är monterade på containerns /docker-entrypoint-initdb.d mapp.

Du kan definiera dina initiala data i en ConfigMap , och montera motsvarande volym i din pod så här:

apiVersion: v1
kind: Pod
metadata:
  name: mysql
spec:
  containers:
  - name: mysql
    image: mysql        
    ports:
      - containerPort: 3306
    volumeMounts:
      - name: mysql-initdb
        mountPath: /docker-entrypoint-initdb.d
  volumes:
    - name: mysql-initdb
      configMap:
        name: mysql-initdb-config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-initdb-config
data:
  initdb.sql: |
    CREATE TABLE friends (id INT, name VARCHAR(256), age INT, gender VARCHAR(3));
    INSERT INTO friends VALUES (1, 'John Smith', 32, 'm');
    INSERT INTO friends VALUES (2, 'Lilian Worksmith', 29, 'f');
    INSERT INTO friends VALUES (3, 'Michael Rupert', 27, 'm');


  1. databasanslutning misslyckas efter att ha skapat jar-fil

  2. Övervakning &Ops Management av MySQL 8.0 med ClusterControl

  3. Hur man pivoterar tabeller i MySQL

  4. Utökade evenemang för SSAS