问题一:
最近尝试了下MySQL集群 和MySQL主从复制(双向复制)。发现集群和主从复制好相似啊,都是一台机器做了改变(比如insert操作),然后其他机器跟着同步更新数据
我想问下,区别在哪?应用场合?数据量?负责能力?还是其他的呢?
问题二:
MySQL集群存在延迟情况否?比如一台机器进行了insert,但是其他集群机器进行select操作可能还查不出刚insert进去的数据,比如微博这样的系统,用户对实时性要求很高的,集群机器可以做到短短几秒内,数据全部一致么?

解决方案 »

  1.   


    下图你就可以看出集群(cluster)和复制的差别了。
      

  2.   

    关注ing                             
      

  3.   

    最明显,也最本质,data-sharing和nothing-sharing的区别。集群是共享存储的。复制中没有任何共享。每台机器都是独立且完整的系统。由此,带来的是应用和实现技术上的区别。
      

  4.   

    想试试,但是担忧他们同步失败
    另外,我只是想同步几个表而已,其他的不用同步的。并且同步的时间间隔1小时一次可以么。
    将 服务器 S1上面的 DB1 里面的USER表里面 userid,username 和 S2服务器上面的DB2 里面的player 里面的rolename 和 level 同步到 S-BAK 服务器里面的 DB-BAK 里面的表 userdata 里面去,对应的字段是S1.DB1.userid = S2.DB2.player.userid = S-BAK.DB-BAK.userdata.userid 不知道该如何同步啊,另外同步最好5分钟一次,怎样才能够最节约带宽和CPU 最高效。
      

  5.   

    不好意思,S1里面的少写了表名字了,应该是:S1.DB1.USER.userid = S2.DB2.player.userid = S-BAK.DB-BAK.userdata.userid  
      

  6.   

    对于主从复制的延迟,可以从slave表中看状态mysql> show slave status \G
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 192.168.1.123
                      Master_User: repl
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000010
              Read_Master_Log_Pos: 375569
                   Relay_Log_File: marinner006-relay-bin.000118
                    Relay_Log_Pos: 2942
            Relay_Master_Log_File: mysql-bin.000010
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
                  Replicate_Do_DB:
              Replicate_Ignore_DB:
               Replicate_Do_Table:
           Replicate_Ignore_Table:
          Replicate_Wild_Do_Table:
      Replicate_Wild_Ignore_Table:
                       Last_Errno: 0
                       Last_Error:
                     Skip_Counter: 0
              Exec_Master_Log_Pos: 375569
                  Relay_Log_Space: 3248
                  Until_Condition: None
                   Until_Log_File:
                    Until_Log_Pos: 0
               Master_SSL_Allowed: No
               Master_SSL_CA_File:
               Master_SSL_CA_Path:
                  Master_SSL_Cert:
                Master_SSL_Cipher:
                   Master_SSL_Key:
            Seconds_Behind_Master: 0
    Master_SSL_Verify_Server_Cert: No
                    Last_IO_Errno: 0
                    Last_IO_Error:
                   Last_SQL_Errno: 0
                   Last_SQL_Error:
    1 row in set (0.00 sec)
    Seconds_Behind_Master就是延迟秒数了,不过我的主从表,这个参数一直是0,也就是没有延迟??