关于 Mac M1 下 docker 下载 mysql 修改配置文件问题,含操作指令(备忘)
前言:
使用Mac(M1芯片)下的docker 时,下载mysql后,配置忽略表名大小写需要修改配置文件,却始终在容器内部找不到 mysql文件夹。
1、数据库查询:show variables like 'lower%' ,lower_case_table_names=0 说明mysql表是不忽略大小写 。
查询结果如下:
2、 百度得知:若想要忽略大小写,可以在创建容器后,直接在后面添加 --lower_case_table_names=1(我的添加后不知道为什么容器会启动不了)
参考链接:https://www.cnblogs.com/ZhengHengWU/p/12882943.html
3、通过配置文件修改去修改mysql配置, 容器名:mysql_56
进入容器:docker exec -it mysql_56 /bin/bash
修改配置:vim /etc/mysql/mysql.conf.d/mysqld.cnf (报错)
若提示没有vi 命令 先安装在执行:
apt-get update
apt-get install vim
发现 etc 文件下没有mysql 文件夹(centos/mysql-5.6. 容器的问题)
图示如下 :
4、(重新拉取镜像)m1 芯片 docker 拉取 mysql:5.6 的镜像
docker pull mysql:5.6 发现报错(m1的芯片的问题)
报错信息:no matching manifest for linux/arm64/v8 in the manifest list entries
添加 --platform linux/x86_64 mysql 解决:
docker pull mysql:5.6 --platform linux/x86_64
5、创建容器:docker run -p 3306:3306 --name mysql_56 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6
6、进入容器:docker exec -it mysql_56 /bin/bash
7、编辑文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf
8、[mysqld] 后 添加 lower_case_table_names=1
A:进入编辑模式、ESC:退出编辑模式 、:wq 退出编辑模式后 输入:wq 保存退出
9、重启容器后 查询。show variables like 'lower%' 修改成功。
备注:lower_case_table_names = 0 其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、 变量名也是严格区分大小写的;