群晖docker中mysql 修改表名区分大小写问题

关于mysql表名区分大小写的问题

序、
mysql表名是否区分大小写是通过lower_case_table_names参数来设置,登录mysql后可通过show Variables like ‘%table_names’ 来查看默认的值。
不同系统,该参数的默认值是不同的。

lower_case_table_names = 1
表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names = 0
表名存储为给定的大小和比较是区分大小写的
lower_case_table_names = 2
表名存储为给定的大小写但是比较的时候是小写的。

1:windows环境默认 0:linux环境默认 2:macos环境默认

一、关于linux镜像中的mysql参数 lower_case_table_names
上面说到linux系统的lower_case_table_names = 0 默认为0,但是通常开发测试过程中习惯性的sql语句是不区分大小写的,需要修改该参数。但是在/etc/mysql/my.cnf中直接修改lower_case_table_names = 1 是不可以的!重启mysql直接导致docker无法启动!
我们需要在初始化mysql前修改好此参数。

二、开始修改mysql镜像lower_case_table_names参数

1、登录到mysql docker控制台

选择“容器”->“mysql镜像”->“终端机”->新增bash

2、在docker中安装工具

docker中可能没有相关vim工具,需要自己安装

apt-get update

apt-get install vim

3、修改mysql默认路径</

原文链接:https://blog.csdn.net/weixin_43923049/article/details/122238383?ops_request_misc=%257B%2522request%255Fid%2522%253A%25220c918c180b5bd7404789136d40c5eff6%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=0c918c180b5bd7404789136d40c5eff6&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-14-122238383-null-null.nonecase&utm_term=%E7%BE%A4%E6%99%96+docker

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享