Docker安装mysql 8 忽略表名大小写,通过命令修改my.cnf配置文件,无需进容器重新初始化数据库

看了很多博客都是需要先启动容器再进容器内部修改my.cnf,重新初始化数据库,然而DockerHub直接就对容器启动时设置了my.cnf的修改方式,具体步骤简单如下:

官方参考链接: https://hub.docker.com/_/mysql

1、拉取容器

docker pull mysql:8.0

2、查看my.cnf可修改的参数

docker run -it --rm mysql:8.0 --verbose --help

在这里插入图片描述

3、启动容器的时候直接在最后加入修改参数

docker run -p 3307:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0 --lower-case-table-names=1

4、查看是否修改成功

在这里插入图片描述
完!

### 配置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]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值