Mysql从Windows迁移到Linux,遇到的坑

最近有个项目从Windows上迁移到Linux上,数据库在迁移成功,但是项目无法启动

[BPM] 2018-09-23 17:04:52 ERROR [localhost-startStop-1] ContextLoader.initWebApplicationContext(307) | Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sysUserSyncService‘: Injection of resource dependencies failed; nested e
xception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sysUserService‘: Injection of resource dependencies failed;
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘bpmNodeUserService‘: Injection of resource dependenc
ies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘bpmNodeUserCalculationSelector‘ defined
in class path resource [conf/app-beans.xml]: Cannot resolve reference to bean ‘sameNodeCalculationDepartment‘ while setting bean property ‘bpmNodeUserCalculatio
n‘ with key [TypedStringValue: value [sameNodeDepartment], target type [null]]; nested exception is org.springframework.beans.factory.BeanCreationException: Err
or creating bean with name ‘sameNodeCalculationDepartment‘: Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.Bea
nCreationException: Error creating bean with name ‘taskOpinionService‘: Injection of resource dependencies failed; nested exception is org.springframework.beans
.factory.BeanCreationException: Error creating bean with name ‘bpmService‘: Injection of resource dependencies failed; nested exception is org.springframework.b
eans.factory.BeanCreationException: Error creating bean with name ‘proce***unService‘: Injection of resource dependencies failed; nested exception is org.spring
framework.beans.factory.BeanCreationException: Error creating bean with name ‘taskSignDataService‘: Injection of resource dependencies failed; nested exception
is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘processEngine‘: FactoryBean threw exception on object creation; neste
d exception is org.activiti.engine.ActivitiException: no activiti tables in db. set <property name="databaseSchemaUpdate" to value="true" or value="create-drop"
 (use create-drop for testing only!) in bean processEngineConfiguration in activiti.cfg.xml for automatic schema creation
        at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:307)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)

.....省略.....

但是该Linux上的项目连接Windows上的数据库,并没有这个错误,所以确定问题所在是Linux的数据库有问题,经过几番研究,发现问题所在!
Mysql在Windows下默认对大小写不敏感,但在Linux下默认区分大小写的!!
所以在配置文件上添加lower_case_table_names=1,重启Mysql,再重启项目,成功!

原文地址:http://blog.51cto.com/mysky0708/2287974

时间: 2024-10-07 12:03:00

Mysql从Windows迁移到Linux,遇到的坑的相关文章

oracle11g windows迁移至linux

原创cube_six_hujw 最后发布于2018-03-02 11:46:06 概述:跨操作系统平台数据库迁移,windows to linux 步骤记录: 实验步骤: (一).linux平台安装好数据库软件及配置好监听: (二).备份windows数据库: (三).linux平台进行数据库恢复操作: (四).linux平台进行数据库恢复后的相关操作: windows 备份数据库: run {configure device type disk parallelism 4;backup dat

MYSQL大小写(由于数据由windows迁移到Linux导致)

今日从sqlserver上迁移了一个数据库到Linux的MySQL中,迁移成功了,但是应用却跑不通,查看日志发现,提示找不到表,我注意到,表名都是存在大小写的,而MySQL中的表名都是小写的.这提醒了我,莫非MySQL 中表名是大小写敏感的?一查果然如此.解决方案如下: 1.用ROOT登录,修改/etc/my.cnf 2.在[mysqld]下加入一行:lower_case_table_names=1 3.重新启动数据库即可 其中 lower_case_table_names=1 参数缺省地在 W

MySQL数据库从windows迁移到linux

前几天搭建了lamp环境,想把之前写的小东西迁到linux上运行,涉及到把mysql数据库的文件迁移到linux上,直接用fileZilla传过去应该不行,我试了下,反正没成功.下面是我采用的方法: (一)用mysqldump命令导出数据库文件: 在windows下cd到Mysql的bin目录: c:/data.txt这个目录和导出的文本名可以自己随便取,-B 后面的是表名,我要导出的表明叫user.输入密码之后,就可以去保存的目录下看看有没有数据文件了,有的话就成功了,感觉可能失败的地方就是没

将mysql数据从Windows迁移到Linux中

1.先在windows上将数据都导出一个文件.(这里以某个数据库为例) 导出整个数据库 mysqldump -u 用户名 -p密码 数据库名 > 导出的文件名 导出指定表 mysqldump -u 用户名 -p密码 数据库名 表名1 表名2 ... > 导出的 文件名 2.将数据从Windows拷贝到Linux中. 3.登录Linux的MySql数据库 4.创建与windows同名的数据库名. mysql> create database qt; 查看字符集是否与windows一致,不一

Windows下Svn服务器迁移至linux

Svn windows迁移至linux 需求:svn服务器从windows系统无缝迁移至linux系统中 实施: 一:准备工作 1,linux服务器一台 2,原svn-windows服务器安装代码及配置文件一份. 二:步骤 01:windows服务器操作 如图为windows svn 服务器图例 查找他的目录地址为:D:\Repositories 因为只有一个项目故进入此项目里找到需要的文件 注释:  conf  为用户账户及密码配置文件 Dav   为web认证文件 Db   为数据文件 Ho

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平台

Windows生产环境: OS: Windows 2003 Web服务器:Apache Tomcat/6.0.26 Java虚拟(JVM):1.6.0_10-rc2-b32 程序语言:Java+JSP Linux生产环境: OS: CentOS release 6.7 (Final) Web服务器:Apache Tomcat/7.0.57 Java虚拟(JVM):1.7.0_71-b14 程序语言:Java+JSP 任务:将从Windows平台上的成绩上传监控程序迁移到Linux平台上. 操作务

如何利用mono把.net windows service程序迁移到linux上

How to migrate a .NET Windows Service application to Linux using mono? 写在最前:之所以用要把windows程序迁移到Linux上,主要是由于一些成本问题,这个就不多解释了. 如何把之前用.net写的windows服务程序迁移到linux上运行.答案是有很多种的,今天我只提一下mono(我只实验了mono,呵呵). 如何在Linux部署mono,并成功的运行.net程序,还请大家多多查询吧,我在这方面也只是搭建成功了,遇到的问

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

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