Upgrading Confluence 5.9 to 6.2 - questions about steps and confluence.cfg.xml
Asked by hoa pham:

Hi,

I'm trying to upgrade Confluence from 5.9 to 6.2 and have gone through the Atlassian upgrade docs. However, I feel there may be 1-2 gaps in the documentation provided. If anyone can review the steps below or fill the blanks, that would be great. These are the step based on setting up a 'staging' instance first.

Prod Confluence: conf-prod  
Prod DB: conf-prod-DB  

Stage Confluence: conf-stage (newly created)  
Stage DB: conf-stage-DB (newly created)

1. perform mysql export on conf-prod-DB (file called conf-prod-DB.sql)  
2. import conf-prod-DB.sql into conf-stage-DB  
3. Tar up conf-prod confluence-home.tar and confluence-data.tar directories and move these to conf-stage  
4. Extract confluence-home.tar and confluence-data.tar under conf-stage/opt  
5. Download atlassian-confluence-6.2.1-x64.bin  
6. Copy mysql-connector-java-5.1.38.tar to /confluence-install/confluence/WEB-INF/lib  
7. Edit /opt/atlassian/confluence-install/confluence/WEB-INF/classes/confluence-init.properties to point to Confluence Home directory

Now, before I run the atlassian-confluence-6.2.1-x64.bin installer, should I remove the /opt/atlassian/confluence-data/confluence.cfg.xml file completely? Since the confluence.cfg.xml file came over as part of the production tar file, it would contain the produciton DB info.

Assuming the answer is "Yes" (deleting the confluence.cfg.xml) , would the GUI installer require me to put in the staging DB info like all other installs?

If the answer is no, (leaving the confluence.cfg.xml there), I assume I would have to update it with the staging DB info. However, what other parameters within the confluence.cfg.xml would I need to update?

Thanks!

-H


Answers:
author: AnnWorley
body: If you delete the confluence.cfg.xml the setup wizard will run and overwrite your staging database. Since you are using the same DBMS, the only parameters you need to change in confluence.cfg.xml are are the user, password and JDBC URL, for example:

```
<property name="hibernate.connection.password">password</property>    <property name="hibernate.connection.url">jdbc:postgresql://staging_server:5432/staging_dbname</property>    <property name="hibernate.connection.username">db_user</property>
```

I would fire up the staging Confluence on the old version first to make sure it is running as expected before performing the upgrade.

comments: author: hoa pham
body: Hi Ann,

Based on your response, would it make more sense to use a brand new DB in staging and delete the confluence.cfg.xml file? Does Atlassian have a 'preferred' method?

Thanks,

_H


author: AnnWorley
body: It's easier to edit **confluence.cfg.xml**, to me, but you have options.

If you delete the **confluence.cfg.xml** and then run the installer, the installer will install a new instance instead of upgrading. The installer checks the build number in **confluence.cfg.xml** to determine which upgrade tasks to run.

You could install a new instance of Confluence 5.9 and then move over the home directory and restore the database.

A third option is to install a new Confluence 5.9 instance and then import an XML site backup from Production, in that case all the user-installed add-ons would need to be reinstalled.


Tags: migration

upgrade