lower_case_table_names
发现新建的数据库中数据库表不能支持大小写。但是库都导好了。也不能说去重新删了重启启动一个Mysql docker Container。所以还是修改mysql文件吧
首先我们要知道怎去解决lower_case_table_names
参数含义:
lower_case_table_names: 此参数不可以动态修改,必须重启数据库
lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
show variables like 'lower_case_table_names';
发现现在是0.得修改配置文件吧
修改配置文件
1、首先进入docker的mysql容器中
[root@linksys /]# docker exec -it mysql01 bash
2、进入配置文件
root@cc80cd737dfe:/# cd /etc/mysql/mysql.conf.d
root@cc80cd737dfe:/etc/mysql/mysql.conf.d# ls
mysqld.cnf
3、vim这个配置文件。敲vim命令时提示说:vim: command not found
Docker安装Vim
这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package vim
这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
等更新完毕以后再敲命令:apt-get install vim命令即可。
4、vim安装完成。
vim /etc/mysql/mysql.conf.d/mysqld.cnf
5、写入lower_case_table_names = 1
6、重启docker中的mysql容器
docker restart c088(容器的id)
ps:结果发现。容器失败了。。。omg
查看了一下docker的log
docker logsc088(容器的id)
补救措施
好吧。。这个lower_case_table_names = 1写成了lower_case_table_name = 1,这下可好。容器起不来了。
于是直接在linux里搜索一下有没有相关的配置文件
[root@linksys /]# find / -name mysqld.cnf |grep 'etc/mysql/mysql.conf.d/mysqld.cnf'
/var/lib/docker/overlay2/a4c07910600758862e9e39ae0f2ed7015e2e31419bfff88a929b4095174a7a50/diff/etc/mysql/mysql.conf.d/mysqld.cnf
/var/lib/docker/overlay2/67d84bf28029c6afbd682f2e9da22c5ea7c6d9218d3ab4929fe1d0272a4ce948/diff/etc/mysql/mysql.conf.d/mysqld.cnf
找到几个。然后进入相对应的mysqld.cnf修改好后。再次重新启动mysql容器。发现ok了。
好吧。开始工作了~