mysql 8 以上的大小写忽略 docker 部署

在 Docker 中启动 MySQL 时不区分大小写,可以通过配置 MySQL 的 lower_case_table_names 参数来实现。这个参数的值可以设置为不同的选项,具体如下:
0: 表名按指定的大小写存储,比较时区分大小写。
1: 表名以小写形式存储,比较时不区分大小写。
2: 表名按指定的大小写存储,但比较时转换为小写。

1、为了使 MySQL 不区分大小写,您可以将 lower_case_table_names 设置为 1。以下是具体的步骤:
创建自定义的 MySQL 配置文件: 创建一个 my.cnf 文件,并添加以下内容:

   [mysqld]
   lower_case_table_names=1

2、将配置文件挂载到 Docker 容器: 使用 -v 选项将自定义的 my.cnf 文件挂载到 MySQL 容器中。假设您的 my.cnf 文件位于当前目录下,可以使用以下命令启动 MySQL 容器:

docker run \
    --name mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -p 3306:3306 \
    -v /tmp/mysql/conf/my.conf:/etc/mysql/my.conf \
    -v /tmp/mysql/data:/var/lib/mysql \
    --restart=always \
    -d \
    mysql:8 --lower_case_table_names=1

进入 MySQL 命令行,执行以下 SQL 查询:

   SHOW VARIABLES LIKE 'lower_case_table_names';

如果输出结果为 1,则表示配置成功。
请注意lower_case_table_names 参数的值在 MySQL 实例首次启动时设置,并且在实例运行期间不能更改。因此,如果您已经有一个正在运行的 MySQL 实例,更改此参数需要先停止并删除该实例,然后使用新的配置重新启动一个新的实例。

mysql8 以上

一定在初始化的时候搞。

一定在初始化的时候搞。

一定在初始化的时候搞。

### 配置DockerMySQL 8忽略表名大小写 为了使Docker中的MySQL 8版本能够忽略表名的大小写,在创建容器时可以传递`--lower_case_table_names=1`作为参数。这一步骤确保了无论输入的是大写还是小写字母,系统都将它们视为相同的标识符[^4]。 对于已经存在的容器,如果希望调整此设置,则需先停止并移除当前运行的容器实例。之后按照如下方式重新启动新的容器: ```bash docker stop mysql_container_name docker rm mysql_container_name ``` 接着利用带有指定选项的新命令行来部署MySQL服务: ```bash docker run -d \ -p 3306:3306 \ --name=mysql8 \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -v /my/custom/config/dir:/etc/mysql/conf.d \ mysql:8.0 --lower_case_table_names=1 ``` 这里通过挂载自定义配置目录到默认位置的方式,允许进一步定制化其他必要的服务器变量而不仅仅是改变表名字母敏感度属性。注意替换路径和密码为实际使用的值[^2]。 当直接在容器内编辑配置文件时,应找到MySQL的主要配置文件(通常是`/etc/my.cnf`或位于特定子目录下的`.cnf`),并向其中加入一行设定`lower_case_table_names=1`。完成更改后记得保存文件,并执行容器重启操作以便让新规则生效[^1]。 验证设置是否成功的最简单办法就是登录至MySQL客户端尝试访问不同字母形式命名的数据表;正常情况下应该不会遇到因大小写差异引发的问题[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不求人€

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值