http://inchoo.net/ecommerce/magento/standard-procedure-to-upgrade-magento-to-the-newest-version/
I can’t give you exact recipe how to upgrade your specific Magento installation, but I’ll try to explain my standard procedure when getting Magento up to date.
1) Know what are you facing with:
Check google if there is something special about upgrading your specific version of Magento to the newest one.
If nothing else, you will be prepared with issues that you will need to solve.
2) Backup your files
We usually do it from CLI like this:
tar -cvvzf your_site_directory.tar.gz your_site_directory/ 2>error.log
3) Backup your database
You can also do it from CLI like this:
mysqldump -u THIS_IS_YOUR_USERNAME_FOR_DB -h localhost -pTHIS_IS_YOUR_USERNAME_FOR_DB my_database_name | gzip -9 > my_database_name.sql.gz
4) Copy those files to the new location
In case you need to move files between 2 servers, easiest way I can think of in CLI would be this:
scp /path_to_some_file/your_site_directory.tar.gz user@REMOTE_SERVER_ADDRESS:/some_dir_on_remote_server
You can do the same with your backup-ed database
5) Now it is time to import database into new created one:
a) Extract my_database_name.sql.gz
b) mysql –verbose –user=THIS_IS_YOUR_USERNAME –password=THIS_IS_YOUR_PASSWORD newly_created_db < my_database_name.sql
6) Now extract the files this way:
tar -xvvzf your_site_directory.tar.gz
This will extract all files to the current directory
7) Edit db table core_config_data and set new secure/unsecure URLs of your site
Disable cache from admin.
9) Delete cache and session directories located here:
/var/cache
/var/session
rm /your_path_to/var/session -R
rm /your_path_to/var/cache -R
10) Execute “clean” bash script located in /downloader/pearlib directory
a) Run chmod +x clean to be able to execute this script
b) ./clean to execute script
11) Finally go to Magento connect manager from your Magento admin
Paste this extension to upgrade Magento: magento-core/Mage_All_Latest
After this is done, you should have new Magento, however if there was some custom coding, you should really know what is going on with your code.
Usually installation ends up with some minor problems that should be handled manually, sometimes even on default installations if you have really old version
of Magento that you would like to upgrade.
12) All that left is to test it and move those files on production server.
Note that this article is just for informative purposes and it is not meant to be tutorial, guide or whatever.
If I forgot something, I’ll update post.