还是同步问题,谁能提供一种多个服务器同步的模式? 具体要求如下:
有N台服务器的同一个数据库参与同步,假设为A、B、C、D、E、F、G,所有服务器的数据必须是互相同步可读可写的,即一个改变其他的全部都会更新。之前以为 一台从服务器可以对应多个主服务器,在my.ini中加了多个master的配置,结果发现只有一个有效,后来才知道一台服务器只能对应一台主服务器。 后来也考虑过 A->B->C->D->E->F->G->A, 即环状的链式模式,但这样又不能保证某个节点异常情况下的连通性,若一个断掉,就变成单向的了。 有一些资料说上面那种方式可以在节点出现异常时,用change master to来改变异常节点后面的指向。如C断掉了,就将D的master指向B。这样做不容易啊,因为要采取额外措施检测异常还有改变节点角色,有没有其他行得通的方法。如果谁做过上面这种方式的,请详细指导一下,不胜感激。
有N台服务器的同一个数据库参与同步,假设为A、B、C、D、E、F、G,所有服务器的数据必须是互相同步可读可写的,即一个改变其他的全部都会更新。之前以为 一台从服务器可以对应多个主服务器,在my.ini中加了多个master的配置,结果发现只有一个有效,后来才知道一台服务器只能对应一台主服务器。 后来也考虑过 A->B->C->D->E->F->G->A, 即环状的链式模式,但这样又不能保证某个节点异常情况下的连通性,若一个断掉,就变成单向的了。 有一些资料说上面那种方式可以在节点出现异常时,用change master to来改变异常节点后面的指向。如C断掉了,就将D的master指向B。这样做不容易啊,因为要采取额外措施检测异常还有改变节点角色,有没有其他行得通的方法。如果谁做过上面这种方式的,请详细指导一下,不胜感激。
Beginning with MySQL Cluster NDB 7.1.3, MySQL Cluster is also available for production use on Microsoft Windows platforms
先看配置吧:Management (MGMD) node
192.168.3.27
MySQL server (SQL) node “A”
192.168.3.28
MySQL server (SQL) node “B”
192.168.3.29
Data (NDBD) node "A"
192.168.3.28
Data (NDBD) node "B"
192.168.3.29
config.ini的配置如下:
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
DataMemory=80M
IndexMemory=18M[tcp default]
SendBufferMemory=2M
ReceiveBufferMemory=2M[NDB_MGMD DEFAULT]
PortNumber=1186
Datadir=C:\mysql\mysql-cluster[ndb_mgmd]
# Management process options:
nodeid=1
HostName=192.168.3.27
DataDir=C:\mysql\bin\cluster-logs
[ndbd]
# Options for data node "A":
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
HostName=192.168.3.28[ndbd]
# Options for data node "B":
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
HostName=192.168.3.29[mysqld]
# SQL node options:
HostName=192.168.3.28[mysqld]
# SQL node options:
HostName=192.168.3.29启动Management node:进入bin目录后,用命令:ndb_mgmd -f config.ini
C:\mysql\bin>ndb_mgmd -f config.ini
MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.9
2010-12-07 09:40:30 [MgmtSrvr] ERROR -- Could not determine which nodeid to u
se for this node. Specify it with --ndb-nodeid=<nodeid> on command line应该是缺少了nodeid这一项,我就在下面位置添加了nodeid:
[ndb_mgmd]
nodeid=1[ndbd]
nodeid=2[ndbd]
nodeid=3[mysqld]
nodeid=4[mysqld]
nodeid=5然后用启动:C:\mysql\bin>ndb_mgmd -f config.ini --ndb-nodeid=1
MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.9
2010-12-07 09:49:20 [MgmtSrvr] ERROR -- The hostname this node should have ac
cording to the configuration does not match a local interface. Attempt to bind '
192.168.3.27' failed with error: 34 'Result too large'这才刚开始呢,后面就走不下去了,虚心请教!
先看配置吧:Management (MGMD) node
192.168.3.27
MySQL server (SQL) node “A”
192.168.3.28
MySQL server (SQL) node “B”
192.168.3.29
Data (NDBD) node "A"
192.168.3.28
Data (NDBD) node "B"
192.168.3.29
config.ini的配置如下:
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
DataMemory=80M
IndexMemory=18M[tcp default]
SendBufferMemory=2M
ReceiveBufferMemory=2M[NDB_MGMD DEFAULT]
PortNumber=1186
Datadir=C:\mysql\mysql-cluster[ndb_mgmd]
# Management process options:
nodeid=1
HostName=192.168.3.27
DataDir=C:\mysql\bin\cluster-logs
[ndbd]
# Options for data node "A":
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
HostName=192.168.3.28[ndbd]
# Options for data node "B":
DataDir=D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
HostName=192.168.3.29[mysqld]
# SQL node options:
HostName=192.168.3.28[mysqld]
# SQL node options:
HostName=192.168.3.29启动Management node:进入bin目录后,用命令:ndb_mgmd -f config.ini
C:\mysql\bin>ndb_mgmd -f config.ini
MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.9
2010-12-07 09:40:30 [MgmtSrvr] ERROR -- Could not determine which nodeid to u
se for this node. Specify it with --ndb-nodeid=<nodeid> on command line应该是缺少了nodeid这一项,我就在下面位置添加了nodeid:
[ndb_mgmd]
nodeid=1[ndbd]
nodeid=2[ndbd]
nodeid=3[mysqld]
nodeid=4[mysqld]
nodeid=5然后用启动:C:\mysql\bin>ndb_mgmd -f config.ini --ndb-nodeid=1
MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.9
2010-12-07 09:49:20 [MgmtSrvr] ERROR -- The hostname this node should have ac
cording to the configuration does not match a local interface. Attempt to bind '
192.168.3.27' failed with error: 34 'Result too large'这才刚开始呢,后面就走不下去了,虚心请教!