我想在Kubernetes中创建一个默认禁用严格模式的MySQL容器。我知道如何在码头禁用严格模式。我试图在Kubernetes中使用同样的方法,但是它显示了一个错误日志。
docker
docker container run -t -d --name hello-wordl mysql --sql-mode=""库伯奈特斯
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-db
labels:
app: db
spec:
selector:
matchLabels:
app: db
template:
metadata:
name: my-db
labels:
app: db
spec:
containers:
- name: my-db
image: mariadb
imagePullPolicy: Always
args: ["--sql-mode=\"\""]错误:
2021-10-29 08:20:57+00:00注释:启动了MariaDB服务器1:10.2.40+maria~bionic的入口点脚本。2021-10-29 08:20:57+00:00错误: mysqld在尝试检查配置命令时失败: mysqld --sql-mode="“-详细
发布于 2021-10-29 09:10:31
基于您所得到的错误,它将双引号作为sql_mode的值读取。你应该省略转义的双引号。
args: ["--sql-mode="]发布于 2021-10-29 08:40:02
为此,您似乎必须使用configmap。
Configmap清单:
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-config
labels:
app: mysql
data:
my.cnf: |-
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
max_connections = 2000
secure_file_priv=/var/lib/mysql
sql_mode=STRICT_TRANS_TABLES部署清单:卷部分
volumeMounts:
- name: data
mountPath: /var/lib/mysql
- name: config
mountPath: /etc/mysql/conf.d/my.cnf
subPath: my.cnf
volumes:
- name: config
configMap:
name: mysql-config如果需要设置更多变量,这将替换MySQL容器中的默认MySQL,最好将它们包含在configmap中。
https://stackoverflow.com/questions/69765726
复制相似问题