关于 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、 变量名也是严格区分大小写的;

 

posted @ 2021-11-20 22:32  Leduo  阅读(520)  评论(0编辑  收藏  举报