本来以为confluence这样的东西应该很好恢复,就一个程序一个数据库,迁移换个地方再导入重新启动就行了。

但是这次数据意外出现了问题,导致只能用MySQL备份的数据来进行恢复了,这样首先肯定是很多附件没有了。

首先是新装一个confluence,在页面中进行安装,刚开始出现server-id的部分,暂停安装,关闭confluence应用,修改confluence.cfg.xml 这个文件的confluence.setup.server.id这里的值跟你原先的保持一样。

要找原先的serverid就需要把原先的备份数据库导入到mysql中,取名为confluence, select * from BANDANA where BANDANAID=1; 就可以取得。

然后修改完confluence.cfg.xml 的server.id后我们继续启动confluence安装程序,在连接数据库的部分要写一个新的库,比如confluence_new, 然后db的用户名密码和原先一样。

这样就使用新库就安装完成了。

接下来就是关闭confluence进程,然后继续修改confluence.cfg.xml这个配置文件中hibernate.connection.url 这里的数据库地址到老的db(confluence)上。

然后我们再次进入mysql命令行,将confluence_new这个库里BANDANA表里的BANDANAID 1到4的内容全部update到老的db中。

我们再次启动confluence,这样就用上了原先备份的数据库内容了。

不过我实际过程中还多了一步,因为原先confluence和jira是互联的,而现在这2个都更换了IP重新部署了,而confluence我们又是用的jira的账号进行登录的,因此还要设置cwd_directory_attribute这个表里的数据。主要是attribute_name: user_encryption_method,attribute_name: application.name,attribute_name: application.password,attribute_name: crowd.server.url 这4条数据。

 

而如果你使用了confluence自己导出的备份,那是一个全量备份,那就只要安装好新的,然后导入就可以了,但是那个confluence数据的目录也是需要还原回去的。不然很多附件也是会丢失的。

所以所有新玩意第一次备份的时候一定要验证备份的可恢复性。切记切记!

Share Your Thought