You probably could use the MySQL replication if you wanted the databases relatively tightly coupled.
If you need to have manual or scheduled updates (such as having a development database that needs to stay sync'd with a production database, but you make schema changes to the development database that then need to also happen on the production database on the next update), here's the way we do it. No PHP is involved (there's no need for it):
A) Make a shell script that:
1) Pulls a snapshot from the tables from your local system that you want to have automatically updated. Creates an sql file. (using mysqldump)
2) Compress it (ie gzip)
3) Uploads it to the server (usually via ftp, sftp or scp)
😎 Also make a shell script on the server that:
1) Is run at a set interval as a cron job
2) Looks for specific file in a specific folder (your database update)
3) Unzips and imports the database (using gunzip and mysql)
4) Deletes the file when it's complete
Take a look at the mysqldump and mysql command-line executables:
http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html
http://dev.mysql.com/doc/refman/5.0/en/mysql.html