Mysql数据库在多服务器集群的情况下如何保证数据同步?

数据不同步的异常情况通常出现在,在同一时刻有多个写数据的操作发生。因此要避免数据库的数据不同步这个问题,就要避免同时有多个写数据的操作,同时只能有一个写操作。

这在一台服务器运行的时候似乎是没有问题的,但是如果多台web服务器的话,就出现问题了。

 

一个不错的办法就是,可以将读写分离,所有的读操作都可以直接从数据库服务器当中读出。但写操作,一般web服务器没有这个权限,如果需要写那就需要设定一个专门负责写数据库的代理服务器,让所有web服务器的写操作都通过这个有写数据库权限的代理服务器,让写操作不存在并行,而是串行,同时只能对一个数据进行一个写操作。

Mysql默认引擎在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此用户一般不需要直接用LOCK TABLE命令给MyISAM表显式加锁。

 

以上对于博主来说尚且还为理论,未实际实验过。

你可能感兴趣的:(服务器,负载均衡,集群)