最近在学习linux,想把windows下开发的java web应用部署到linux下。经过一番折腾,终于成功。
归纳步骤如下:
1. 将项目打包为war包(用eclipse,项目右键-->Export-->选择war file),将Web应用的数据库脚本导出一份。
2.在linux下配置好jdk环境,安装tomcat,配置好mysql数据库。
3.将第一步打包好的war包放到tomcat的webapps目录下。
4.将第一步导出的数据库脚本导入到linux下的mysql中。
5.启动linux下的tomcat:./startup.sh。
我碰到的问题是:web应用部署成功,但是使用过程中报异常,观察了一下,是pojo与表名的大小写不一致,总是报异常说找不到表。思考了一下,觉得可能是linux下mysql会区分数据库表名的大小写(在Windows下,mysql对表名是不区分大小写的),上网查了下资料,果真如此!linux下,mysql默认区分表名的大小写。改代码显然是有点麻烦的,能不能通过更改mysql的配置,让它忽略表名的大小写呢?答案是肯定的,解决方案如下。
修改mysql的一个参数就可以了:在ubuntu下,/etc/mysql/my.cnf文件中 [mysqld]的后面加lower_case_table_names=1(0表示区分大小写,1表示不区分)。
在修改的过程中,会发现这个文件是只读的,因此需要先修改该文件的权限:sudo chmod 777 my.cnf。修改完毕后再将其权限改为只读,要不然mysql可能会启动不了哦!
linux下安装文件的的目录实在是复杂,mysql数据库默认的一些主要目录包括:
1、数据库目录 /var/lib/mysql/
2、配置文件 /usr/share/mysql(mysql.server命令及配置文件)
3、相关命令 /usr/bin (mysqladmin mysqldump等命令)
4、启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)
启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
2、停止
[root@localhost mysql] # /usr/bin/mysqladmin -u root -p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
2)把MySQL添加到你系统的启动服务组里面去
[root@localhost mysql] # /sbin/chkconfig – add mysql
3)把MySQL从启动服务组里面删除。