a.b*_*eri 6 mysql digital-ocean kubernetes persistent-volume-claims
我正在尝试使用 Kubernetes 在 Digital Ocean 上设置一个 MySQL pod。
我不断收到此错误:
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
Run Code Online (Sandbox Code Playgroud)
我的 yaml 有很多东西,但对这部分配置感兴趣的行如下。
# ------------------- 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
---
Run Code Online (Sandbox Code Playgroud)
如果我在部署配置中注释掉 PVC 和与 PVC 相关的行,一切正常。
另外,如果我改变
mountPath: "/var/lib/mysql"
Run Code Online (Sandbox Code Playgroud)
到
mountPath: "/data"
Run Code Online (Sandbox Code Playgroud)
有用。但我显然需要/var/lib/mysql
...
它也发生在全新的集群上。
任何的想法?
我在 Kubernetes 和 MySQL 5.7 上也有这个问题。
将yosifki的建议添加到我的容器定义中,事情就开始了。
一个新的 ext4 磁盘分区通常不是空的;有一个 lost+found 目录,已知 mysql 会阻塞它。您可以尝试将 --ignore-db-dir=lost+found 添加到 CMD 以确保知道(来自mysql docs)
这是我的工作 YAML 定义的摘录:
name: mysql-master
image: mysql:5.7
args:
- "--ignore-db-dir=lost+found"
Run Code Online (Sandbox Code Playgroud)
小智 6
我有类似的问题。
使用 mysql:5.6 修复了它。
欲了解更多信息,请参阅:
https://github.com/docker-library/mysql/issues/69
https://github.com/docker-library/mysql/issues/186
归档时间: |
|
查看次数: |
5540 次 |
最近记录: |