Mysql在windows下和linux下对表名大小写默认要求的一个细节

今天在虚拟机里搭建项目环境,偷了下懒,直接把本机数据库中的表用sqlyog复制给虚拟机中的数据库,然后开始部署项目,项目一启动提示:

Table ‘sdmqrt.QRTZ_LOCKS‘ doesn‘t exist

我一看,找不到表,奇怪啊,我本机的数据库不可能少表啊,检查一遍虚拟机中的表也的确存在..这问题巧就巧在是qrtz_locks表,也就是调度任务表,spring quartz恰巧有那么一个bug,然后我整个人就掉进那个bug里面去了,不清楚这个bug的可以直接百度.

按照那个bug的处理方法怎么弄也不行,而且我也在怀疑,本机是好使的怎么可能虚拟机中就出现bug..各种折腾无解后,无奈就直接找到数据库建库脚本执行一遍,然后突然发现个问题,数据库中出现大写表名和小写表名,我瞬间想到个可能,重新执行一遍程序果然正常了..

然后百度了一下证实了我的猜想:linux下mysql默认是区别表名大小写的,这个和windows下不一样,这个默认处理方式很诡异..至于改成不区分大小写这个百度一下有的是就不列举了.

时间: 2024-08-01 10:43:45

Mysql在windows下和linux下对表名大小写默认要求的一个细节的相关文章

socket在windows下和linux下的区别

windows到Linux代码移植遇到的问题 1.一些常用函数的移植 http://www.vckbase.com/document/viewdoc/?id=1586 2.网络 ------ 转载 & 修改(待整理) socket相关程序从windows移植到linux下需要注意的 1)头文件 windows下winsock.h/winsock2.h linux下sys/socket.h 错误处理:errno.h 2)初始化 windows下需要用WSAStartup linux下不需要 3)关

MySQL在Windows和Linux下还原数据库

Linux下还原数据库代码: 1,创建一个空的数据库cddl mysql> create database cddl; Query OK, 1 row affected (0.00 sec) 2,还原数据库 [[email protected] mysqlsoftware]# cd /etc/rc.d/init.d [[email protected] mysqlsoftware]# cd /etc/rc.d/init.d [[email protected] init.d]# mysql -h

如何在windows下和linux下获取文件(如exe文件)的详细信息和属性

程序员都很懒,你懂的! 最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息.最后由我用java实现linux上exe文件的版本号读取功能.下面是详细代码: package com.herman.utils; import java.io.File; import java.io.FileNotFoundException; import java.io.I

MySQL在windows和linux下的表名大小写问题

MySQL在windows下是不区分大小写的,将script文件导入MySQL后表名也会自动转化为小写,结果再想要将数据库导出放到linux服务 器中使用时就出错了.因为在linux下表名区分大小写而找不到表,查了很多都是说在linux下更改MySQL的设置使其也不区分大小写,但是有没有办 法反过来让windows 下大小写敏感呢.其实方法是一样的,相应的更改windows中MySQL的设置就行了. 具体操作:         在MySQL的配置文件my.ini中增加一行:         lo

docker在windows下和linux下网络底层的一些区别

windows和linux下的docker运行时的网络结构是有区别的 a.windows下,默认使用Hyper-v创建一个linux虚拟机,承载docker.所以从外向内的路径为: windows -> linux系统的docker(hyper-v中) -> docker内的容器(应用) 其中docker desktop会默认创建一个网络DockerNAT,windows宿主分配IP:10.0.75.1 linux虚拟机会分配IP:10.0.75.2,并且还另外会分配内部网段IP:172.17

让 MySQL 在 Linux 下表名不区分大小写(实为表名全小写)

把 Windows 下的应用部署到 Linux 下,使用到了 Quartz 集群的特性,所以建了 MySql 的中间表,一启动看到报错: Invocation of init method failed; nested exception is org.quartz.JobPersistenceException: Couldn't retrieve trigger: Table 'unmijob.QRTZ_TRIGGERS' doesn't exist [See nested exceptio

在windows和linux下分别部署Solr服务

一.在windows下部署Solr服务 1.windows部署solr前的准备: jdk1.7+tomcat-7+solr-4.10.4 1.1.安装JDK就不说了 1.2.安装tomcat 下载下来直接解压到指定目录,我直接解压到D盘下了. 1.3.安装solr(重点) 1.3.1.首先下载solr 下载地址:http://apache.fayea.com/lucene/solr/4.10.4/solr-4.10.4.zip 1.3.2.解压到指定的目录,这个目录自己指定. 1.3.3.进入目

windows和linux下如何远程获取操作系统版本和主机名

远程获取windows和linux操作系统版本和主机名需要具备以下条件: 假设 主机A(windows 7),ip:192.168.12.2 主机B(centos 6.3),ip:192.168.12.3 主机C(windows 2008)-为远程要获取信息的主机,ip:192.168.12.4 主机D(centos 6.3)-为远程要获取信息的主机,ip:192.168.12.5 windows: 1.主机A可以ping通主机C: 2.主机B可以ping通主机C: 3.主机B可以通过161端口

windows和linux下 Python2,Python3 的环境及安装

目录 windows和linux下 Python2,Python3 的环境及安装 window下安装 一. 手动安装 二. pip安装 linux下 安装 更新Python 笔者有话 windows和linux下 Python2,Python3 的环境及安装 window下安装 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右键计算机]-->[属性]-->[高级系统设置]-->[高级