首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在kubernetes中禁用mysql严格模式?

如何在kubernetes中禁用mysql严格模式?
EN

Stack Overflow用户
提问于 2021-10-29 08:22:05
回答 2查看 794关注 0票数 2

我想在Kubernetes中创建一个默认禁用严格模式的MySQL容器。我知道如何在码头禁用严格模式。我试图在Kubernetes中使用同样的方法,但是它显示了一个错误日志。

docker

代码语言:javascript
复制
docker container run -t -d --name hello-wordl mysql --sql-mode=""

库伯奈特斯

代码语言:javascript
复制
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="“-详细

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-29 09:10:31

基于您所得到的错误,它将双引号作为sql_mode的值读取。你应该省略转义的双引号。

代码语言:javascript
复制
args: ["--sql-mode="]
票数 3
EN

Stack Overflow用户

发布于 2021-10-29 08:40:02

为此,您似乎必须使用configmap

Configmap清单:

代码语言:javascript
复制
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

部署清单:卷部分

代码语言:javascript
复制
    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中。

想要更详细的答案

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69765726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档