ECS云服务器 CentOS7 Docker中MySQL容器设置表名忽略大小 详细操作

系列文章目录

Linux系统CentOS 7.6 Docker 安装 MySQL8.0 详细步骤

文章目录

前言

第一次遇到这个问题,折腾了很久,最后一步步解决,所以记录一下,希望能帮助有需要的小伙伴。


一、回顾下Docker安装MySQL目录挂载和启动

1、创建数据挂载文件夹

mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/mysql-files
mkdir -p /usr/local/mysql/conf
mkdir -p /usr/local/mysql/logs

2、启动mysql容器,通过挂载配置和数据的方式运行容器

docker run -p 3306:3306 --name mysql \ 
-v /usr/local/mysql/conf.d:/etc/mysql/conf.d \ 
-v /usr/local/mysql/logs:/var/log/mysql \ 
-v /usr/local/mysql/data:/var/lib/mysql \ 
-e MYSQL_ROOT_PASSWORD=123456 \ 
-d mysql:8.0

查看是否安装成功

docker ps -a

二、解决Docker中MySQL容器,设置表名忽略大小问题

1.可以使用Navicat工具查询是否 忽略表名大小写状况

lower_case_table_names=0 区分表名大小写

lower_case_table_names=1 忽略表名大小写

代码如下:

# 查看数据库版本号
select version();

# 查看是否设置了表名忽略大小写
show global variables like '%lower_case%';

ECS云服务器 CentOS7 Docker中MySQL容器设置表名忽略大小 详细操作

2.Docker修改配置文件

1、找到要修改的镜像

docker ps -a

2、进入要修改的容器

docker exec -it 容器ID或名称 /bin/bash 

3、进入要修改的文件目录

cd /etc/mysql

4、安装vim

apt-get update
apt-get install vim

5、修改配置文件,在[mysqld]节点下,加入一行:lower_case_table_names=1

vi my.cnf

ECS云服务器 CentOS7 Docker中MySQL容器设置表名忽略大小 详细操作
ECS云服务器 CentOS7 Docker中MySQL容器设置表名忽略大小 详细操作
然后按ESC键,按:键,输入wq 保存退出

6、如果要退出bash有2种操作:
1)Ctrl + d 退出并停止容器;
2)Ctrl + p + q 退出并在后台运行容器;

7、 然后把/usr/local/mysql/data整个删除,最后重启容器

docker restart 容器ID或名称

8、检查是否设置成功

show global variables like '%lower_case%';

ECS云服务器 CentOS7 Docker中MySQL容器设置表名忽略大小 详细操作

恭喜你修改成功了!

上一篇:阿里云ECS部署Nginx配置域名访问


下一篇:阿里云ECS服务器Centos中安装SQL Server