Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2296020
  • 博文数量: 276
  • 博客积分: 5998
  • 博客等级: 大校
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-24 14:43
文章分类

全部博文(276)

文章存档

2014年(25)

2013年(11)

2012年(69)

2011年(167)

2010年(4)

分类: Mysql/postgreSQL

2011-07-28 00:45:57

   由于主服务器比较繁忙,主服务器与从服务器的硬件相差比较大等原因可能造成主服务器与从服务器数据差距比较大。这是为了不影响应用我们需要手动的定期进行主从服务器的数据同步,下面是手动进行数据同步的步骤。

 

 

    在数据库负载比较低时执行下面的步骤,此时主服务器不能更新

 

1、对主服务器执行

 mysql> flush tables with read lock;                用读锁锁住所有的表阻止对它的更新

 

mysql> show master status\G

*************************** 1. row ***************************

            File: binlog.000022

        Position: 592429

    Binlog_Do_DB:

Binlog_Ignore_DB:

 

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

 

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

mysql> select MASTER_POS_WAIT('binlog.000022','592429')\G

*************************** 1. row ***************************

MASTER_POS_WAIT('binlog.000022','592429'): 0

 

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

 

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

 

3、对主服务器的操作。

mysql> unlock tables;

阅读(1020) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~