There are numerous blogs and articles all over the web that will tell you how to move or migrate WordPress sites.
Here's a link that I found quite useful, it explains the migration process (we won't go into full details of a migration):
I have to do it regularly developing a site in one location then migrating it to it's final resting place so not to cause any interruptions during the build process.
But what happens when you can't get direct access to the databases? I found that with one client. They used Webcentral for hosting and insisted that they be used for hosting their new WordPress site despite them running IIS which cause issues with permalinks and 404 redirects, the final nail in the coffin was the problems it caused for an event booking system. Finally I was given the go ahead to move the site to a more suitable hosting company. The problem was Webcentral weren't helpful at all when I asked for a database dump and there was no control panel do access the database. So I went hunting for some tools that would allow me to export the database and stumbled across a plugin called WP Migrate DB.
"WP Migrate DB exports your database as a MySQL data dump (much like phpMyAdmin), does a find and replace on URLs and file paths, then allows you to save it to your computer. It is perfect for developers who develop locally and need to move their WordPress site to a staging or production server." - http://wordpress.org/extend/plugins/wp-migrate-db/
Since using it the one time it's my preferred method for migrating a WordPress database, mostly because it's extremely simple and very quick, which is not only great for me but for the client as well.