【Kubernetes系列】K8s设置MySQL8大小写不敏感


一、MySQL8 设置大小写敏感配置的方式

MySQL 通过 lower_case_table_names 来进行大小写敏感设置,0 为敏感,1 为不敏感,默认为 0。

根据 MySQL 官方文档,lower_case_table_names 只有在初始化时设置才有效,初始化后再更改这个参数是不起效的。

因此,可以通过以下方法设置:

1.初始化时带参数

初始化时带上如下参数:

–initialize --lower_case_table_names=1

2.初始化前,在 my.cnf 加入 lower_case_table_names 配置

vi /etc/my.cnf

在 [mysqld] 一节加入:

 lower_case_table_names=1

二、已安装 MySQL8 的设置方法

1.停止 MySQL

systemctl stop mysqld

2.删除数据目录

rm -rf /var/lib/mysql

3.修改配置文件

vi /etc/my.cnf

在 [mysqld] 一节加入:

 lower_case_table_names=1

4.启动 MySQL

systemctl start mysqld

三、K8s 下的设置方法

1.删除挂载的数据目录

如下,则删除 /home/data/mysql 目录的数据:

spec:
...
          volumeMounts:
            - name: mysql-data-volumes
              mountPath: /var/lib/mysql
      volumes:
        - name: mysql-data-volumes
          hostPath:
            path: /home/data/mysql
            type: Directory

2.yml 文件增加 lower_case_table_names 配置

如下:

spec:
  serviceName: mysql
  replicas: 1
  selector:
    matchLabels:
      shop.service: mysql
  template:
    metadata:
      labels:
        shop.service: mysql
    spec:
      containers:
        - args:
            - --lower_case_table_names=1

data:
  my.cnf: |
    [mysqld]
    lower_case_table_names=1

猜你喜欢

转载自blog.csdn.net/u012069313/article/details/125533402