I'm trying to setup a MySQL pod on Digital Ocean with Kubernetes.
I kept getting this error:
Initializing database
2019-03-05T14:32:58.707421Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-03-05T14:32:58.708753Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2019-03-05T14:32:58.711746Z 0 [ERROR] Aborting
My yaml as a lot of stuff but the lines that interest this part of the config are the following.
# ------------------- Persistent Volume Claim ------------------- #
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: test-mysql-volume-claim
...
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
storageClassName: do-block-storage
---
# ------------------- Deployment ------------------- #
kind: Deployment
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
...
spec:
...
spec:
containers:
- image: mysql:5.7
...
volumeMounts:
- name: test-mysql-volume
mountPath: "/var/lib/mysql"
volumes:
- name: test-mysql-volume
persistentVolumeClaim:
claimName: test-mysql-volume-claim
---
If I comment out the PVC and the lines relative to PVC in the deployment config, everything works.
Also, if I change
mountPath: "/var/lib/mysql"
to
mountPath: "/data"
it works. But I obviously need /var/lib/mysql
...
It happens also on brand new clusters.
Any idea?
I had a similar problem.
Using mysql:5.6 fixed it.
For more information refer to:
I have come across this issue. Work around is to delete the pv and pvc and recreate them.