Shall I use MySQL replication to synchronize a local database and a remote database? If so, how do I setup both master and slave? Are there any other methods available to do
Full chapter on replication:
http://oreilly.com/catalog/hpmysql/chapter/ch07.pdf
and also very detailed here:
http://downloads.mysql.com/docs/mysql-replication-excerpt-5.1-en.a4.pdf
One interesting solution is the Percona XtraDB Cluster
https://www.percona.com/doc/percona-xtradb-cluster/LATEST/intro.html
Allows to setup multi master topology.
If you are looking for a simple master-master replication between the servers, you can refer the below site. Just change the ip addresses and the database you want to replicate.
https://gopukrish.wordpress.com/2014/05/29/mysql-master-master-replication/
how to setup master/slave?
This Replication: How to guide has both what you need to do on the master and the slave.
any other methods available to do this
There is also Multi-Master and Circular Replication for MySQL Cluster.