Tomcat项目部署以及Mysql数据迁移
其实项目部署以及mysql数据迁移等工作非常简单,但是为了让我们每个人都能在部署时清楚具体流程,尽量少犯错误,将精力放在具体项目上,特分享此篇文章,以供参考!
一、Tomcat项目部署
1、下载tomcat(版本:6.0.29)
因为部署中的有些问题可能会是tomcat的版本引起的,经测该版本是可以成功应用的。所以在没有特别的需求下,建议使用我们熟悉的版本。
2、修改日志输出配置
打开apache-tomcat-6.0.29\bin\startup.bat,最下面找到
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
修改为:
call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ../logs/programname.log
这样,在tomcat启动(双击apache-tomcat-6.0.29\bin\startup.bat)之后,日志会输出到apache-tomcat-6.0.29\logs\programname.log里,方便之后日志查看。
3、项目部署到tomcat
将osgi的WebContent拷贝到tomcat的webapps里,然后可以修改一下文件夹的名字(比如programname),注意是WebContent,不要把整个osgi放进去。
4、修改项目的数据源的ip地址,端口,用户名,密码。
5、将policy.xml里的工作空间配置删掉
<module-repository id="workspace" path="E:\f1\dky"></ module-repository >
6、将打包的jar包放到apache-tomcat-6.0.29\webapps\programname\WEB-INF\osgi\platform\application里
至此,tomcat项目部署已经完成,可以启动测试了。
关于环境变量配置CATALINA_HOME和CATALINA_BASE的配置说明:
CATALINA_HOME是tomcat的安装目录
CATALINA_BASE是tomcat的工作目录
我们启动startup时,会先找环境变量是否有CATALINA_HOME,如果有则用配置的路径,如果没有则使用当前目录。
所以如果机器上有多个tomcat,千万不要配置这个,不然运行的都是同样的路径。
网上有更详尽的解释:http://blog.csdn.net/jiaotuwoaini/article/details/51455829
二、Mysql数据迁移
1、下载免安装mysql(版本:5.6.37)
有的版本会缺少配置文件,所以没有特殊需求,还是要使用自己熟悉的版本。
2、将mysql的bin目录添加到环境变量中
3、编辑my-default.ini,内容如下:
[mysqld]
#绑定IPv4和3306端口
bind-address=0.0.0.0
port=3306
#设置mysql的安装目录
basedir=D:\Program Files\mysql-5.6.37-winx64
#设置mysql数据库的数据的存放目录
datadir=D:\Program Files\ mysql-5.6.37-winx64 \data
#允许最大连接数
max_connections=200
4、命令行操作
打开cmd,切换到bin目录,运行 mysqld -install 提示服务安装成功
运行services.msc一看,确实有一个名为MySQL的服务了,启动它。
启动服务:net start mysql
登陆:mysql -u root(首次登陆没有密码) mysql -u root -p(回车,再输入密码)
设置密码:mysqladmin -u root password 123456
退出mysql:exit
如果需要删除服务 mysqld -remove
5、设置允许远程连接
//本地命令行登陆mysql
mysql -u root -p 回车 输入密码
//进入mysql数据库
use mysql
//允许任何主机使用 用户名:us_sys 密码:sys远程登陆
grant all privileges on *.* to 'us_sys' @ '%' identified by 'sys' with grant option ;
//确认是否设置成功
select host,user from user
6、将要迁移的mysql的data文件夹替换掉自己的data文件夹(操作之前最好先停掉mysql服务)
至此,mysql的迁移工作也已经完成。
遇到的问题:
1、只想迁移data里的部分数据
这种情况,不仅需要拷贝需要的库文件夹,还需要拷贝ibdata1这个文件。不然,你可以在数据库里看到表,但是双击表的时候找不到数据。
ibdata1文件里存储着所有的库的信息,服务启动过程会读取该文件,然后去找库表。因为我们只拷贝了部分数据,所以有很多库表找不到,所以系统里会有报错,但不影响我们的实际使用。
这种方式可能会碰到服务启动失败的问题,所以不要随意地删除或者修改其他文件。只需要动自己需要的即可。
2、启动服务报错:找不到指定文件
查看注册表(HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->services->mysql 双击ImagePath修改为”D:\ProgramFiles\mysql-5.6.37-winx64\bin\mysqld” MySQL)