最近遇到一个问题,项目在Windows里运行正常,但在Linux里运行时就报错,提示好多表不存在,经过排查发现MySQL数据库中表名是大写的,然后报错信息里表名是小写的,于是我大胆的推测可能是Linux里MySQL默认对表大小写敏感,经过修改最后项目在Linux里也成功运行。

查看MySQL是否对表大小写敏感

查询结果:

        lower_case_table_names=0(默认)区分大小写

        lower_case_table_names=1表示不区分大小写

show Variables like '%table_names';

修改操作

修改/etc/my.cnf,在[mysqld]后边添加lower_case_table_names=1 重启mysql服务。

其他

MySQL在linux里是对表名大小写敏感,而在Windows中是对表名大小写不敏感的。

Docker 修改mysql 表大小写敏感

由于Linux里我是用Docker部署MySQL的,而mysql容器中没有vi命令也没有vim命令,又不想装,于是就用另外一种方式。

1.查看mysql配置文件 mysqld.cnf

docker exec b0aec76e2859 cat /etc/mysql/mysql.conf.d/mysqld.cnf

2.将配置文件mysqld.cnf从容器复制到宿主机/home

docker cp   b0aec76e2859:/etc/mysql/mysql.conf.d/mysqld.cnf  /home/mysqld.cnf

3.在配置文件mysqld.cnf中添加 lower_case_table_names=1

进入到/home目录下,找到mysqld.cnf,这里直接用vim改就好

4.将配置文件从宿主机复制到容器

docker cp /home/mysqld.cnf b0aec76e2859:/etc/mysql/mysql.conf.d/

5.重新启动容器

docker restart b0aec76e2859

Docker 修改MySQL表大小写敏感相关推荐

  1. 修改Mysql表中自增字段的初始值

    修改Mysql表中自增字段的初始值: ALTER TABLE employee AUTO_INCREMENT=2; 解释:将表employee自增字段的初始值设置为2

  2. docker修改mysql数据库密码,redis密码

    1. docker修改mysql数据库密码 docker.cnf是宿主机的文件 第一次内容:vim docker.cnf [mysqld] skip-host-cache skip-name-reso ...

  3. 如何修改mysql表中列的大小?

    本文翻译自:How can I modify the size of column in a mysql table? I have created a table and accidentally ...

  4. 查看修改MySQL表结构命令

    查看修改MySQL表结构命令 简述 小编经常会遇到一些数据库编码不对得问题,好TM头疼,这里做一个记录,供大家参考. 修改数据库字符集: ALTER DATABASE db_name DEFAULT ...

  5. 修改mysql表结构语句

    昨天在执行碰到几个报错,总提示缺少mysql表结构里的字段什么的,当时有点没头绪不知道从哪里着手,再次记录一下修改表结构的语句,保证下次不会在出现此类问题; mysql 修改表结构语句 ALTER T ...

  6. mysql gh 划线,gh-ost:在线DDL修改MySQL表结构工具

    在之前,我分享过一次pt-online-schema-change在线DDL的工具实践记录,在实际使用过程中,发现部门的很多老系统大量使用了触发器,从而无法使用这个工具,非常遗憾!导致很多DDL变更都 ...

  7. 修改MYSQL 表中的字段属性

    1.登录数据库 >mysql -u root -p 数据库名称 2.查询所有数据表 >show tables; 3.查询表的字段信息 >desc 表名称; 4.1.修改某个表的字段类 ...

  8. docker 修改 mysql 端口

    下载 docker pull mysql:5.6 \ 换行符 name : 启动后在 doocker 中的名字 自定义 MYSQL_ROOT_PASSWORD : 启动的后设置的mysql密码 mys ...

  9. 修改mysql表的存储引擎

    方法一. alter table mytable engine = InnoDB;//将mytable表引擎改为InnoDB. 方法二. 使用mysqldump 将表导出,然后修改 表create t ...

最新文章

  1. 发现一个浏览器很奇怪的问题
  2. Scrum Meeting 博客汇总
  3. 《疯狂Java讲义》学习笔记(十)异常处理
  4. .NET基础 (05)内存管理和垃圾回收
  5. 【数据库复习】第一章绪论
  6. 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[中篇]:请求响应
  7. php psl标准,psl是什么单位
  8. php适配器设计模式,螃蟹学PHP设计模式之适配器模式
  9. 数字化转型太太太难?AI、IoT 重拳出击!
  10. java怎么看具体被挂起的线程_Java知多少(65)线程的挂起、恢复和终止
  11. MFC开发wps演示
  12. 计算机专业网页设计周志,毕业设计周志范文100篇
  13. Qt进行CSV文件操作
  14. PostgreSQL 源码解读(31)- 查询语句#16(查询优化-表达式预处理#1)
  15. xml与txt文件格式互换
  16. 技术项目 - Linux网卡中断使单个CPU过载
  17. 图灵出版社最近7年的畅销书
  18. 人机工程学座椅设计_办公座椅设计中人体工程学分析
  19. 【转】俞敏洪演讲:度过有意义的生命
  20. VISA卡,银联卡,MASTER CARD

热门文章

  1. JDBC编程六步中遇到的问题
  2. note_44:事件分发
  3. Android P在状态栏加入USB图标并根据插入/拔出状态显示/隐藏USB图标
  4. 演讲与口才的形式要点
  5. oracle组合索引最左原则,索引的最左前缀匹配原则的误区与索引下推技术
  6. 总结|图像分割5大经典方法
  7. 【HAL库】Proteus+VSPD实现仿真stm32虚拟串口
  8. 用python可以开发小程序吗,python可以小程序开发吗
  9. [lammps后处理]温度云图的绘制
  10. 使用 API 自动生成工具优化前端工作流