•Eventually, as N  approaches infinity (and our budget negative infinity), we can get very close to 600 writes per second, increasing system throughput about 5.5 times. However, with only eight servers, we increase it nearly four times. 

These computations assume infinite network bandwidth and neglect several other factors that could be significant on your system. In many cases, you may not be able to perform a computation similar to the one just shown that accurately predicts what happens on your system if you add N  replicas. However, answering the following questions should help you decide whether and by how much replication may improve the performance of your system: 

A.14.9. How can I use replication to provide redundancy or high availability? 

•What is the read/write ratio on your system? 

•How much more write load can one server handle if you reduce the reads? 

•For how many replicas do you have bandwidth available on your network? 

How you implement redundancy is entirely dependent on your application and circumstances. High- availability solutions (with automatic failover) require active monitoring and either custom scripts or third party tools to provide the failover support from the original MySQL server to the replica. 

To handle the process manually, you should be able to switch from a failed source to a pre- configured replica by altering your application to talk to the new server or by adjusting the DNS for the MySQL server from the failed server to the new server. 

For more information and some example solutions, see Section 17.4.8, “Switching Sources During Failover” . 

A.14.10. How do I tell whether a replication source server is using statement-based or row-based binary logging format? 

Check the value of the binlog_format  system variable: 

mysql> SHOW VARIABLES LIKE ’binlog_format’; 

The value shown is always one of STATEMENT , ROW , or MIXED . For MIXED  mode, statement- based logging is used by default but replication switches automatically to row-based logging under certain conditions, such as unsafe statements. For information about when this may occur, see Section 5.4.4.3, “Mixed Binary Logging Format” . 

A.14.11. How do I tell a replica to use row-based replication? 

Replicas automatically know which format to use. 

A.14.12. How do I prevent GRANT  and REVOKE  statements from replicating to replica machines? 

Start the server with the --replicate-wild-ignore-table=mysql.%  option to ignore replication for tables in the mysql  database. 

A.14.13. Does replication work on mixed operating systems (for example, the source runs on Linux while replicas run on macOS and Windows)? 

Yes. 

A.14.14. Does replication work on mixed hardware architectures (for example, the source runs on a 64-bit machine while replicas run on 32-bit machines)? 

