龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

如何解决MySQL数据库主从服务器之间数据有差距问题

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
为什么 MySQL数据库 的 主从服务器 之间的数据会有差距呢?原因是由于主 服务器 比较繁忙,主服务器与从服务器的硬件相差比较大等原因可能造成主服务器与从服务器数据差距比较大

为什么MySQL数据库主从服务器之间的数据会有差距呢?原因是由于主服务器比较繁忙,主服务器与从服务器的硬件相差比较大等原因可能造成主服务器与从服务器数据差距比较大。为了不影响MySQL数据库的应用,我们常常手动地定期进行主从服务器的数据同步,下面是手动进行数据同步的步骤。该过程是在数据库负载比较低时执行的,此时主服务器不能更新。

1、对主服务器执行:

  1. mysql> flush tables with read lock; 用读锁锁住所有的表阻止对它的更新  
  2.  
  3. mysql> show master statusG  
  4.  
  5. *************************** 1. row ***************************  
  6.  
  7. File: binlog.000022  
  8.  
  9. Position: 592429  
  10.  
  11. Binlog_Do_DB:   
  12.  
  13. Binlog_Ignore_DB: 

记录下FILE后面的值及Postion后面的值也就是日志名字及其偏移量。

2、在从服务器上执行下面的语句:

  1. mysql> select MASTER_POS_WAIT('binlog.000022','592429')G  
  2.  
  3. *************************** 1. row ***************************  
  4.  
  5. MASTER_POS_WAIT('binlog.000022','592429'): 0 

MASTER_POS_WAIT的第一个参数是上面master的File值,第二个参数是上面master 的Position值。

如果返回值是0代表同步是成功的,如果为-1代表是超时退出。

3、对主服务器的操作:

  1. mysql> unlock tables; 

按照以上的步骤执行完毕,就能够解决MySQL数据库主从服务器之间的差距问题了。


精彩图集

赞助商链接