**************RT************************本人现在在嵌入式系统中有一个SQLite数据库,在另外一台服务器中有mysql,如果SQLite中的数据有修改或者建立了新表新元素,有没有一种可用的方法让mysql中同样有相同的操作?还是需要自己来处理这种情况?如果是后者,应该采用何种方法比较合适呢? 本人对具体数据库的操作不是非常熟悉,希望大虾们多给点宝贵意见参考~~谢谢!
调试欢乐多
问题:
bin> ndbd --initial
Unable to connect with connect string: nodeid=0,localhost:1186
Retrying every 5 seconds. Attempts left: 12 11 10 9 8 7 6 5 4 3 2 1, failed.
2010-12-07 17:04:22 [ndbd] ERROR -- Could not connect to management server, e
rror: ''我下载了mysql-cluster-gpl-noinstall-7.1.9a-win32免安装版做mysql cluster,在启动数据节点时出现了无法连接的情况:
bin> ndbd --initial
Unable to connect with connect string: nodeid=0,localhost:1186
Retrying every 5 seconds. Attempts left: 12 11 10 9 8 7 6 5 4 3 2 1, failed.
2010-12-07 17:04:22 [ndbd] ERROR -- Could not connect to management server, e
rror: ''我的过程是这样的:
(1) 管理节点的配置 创建文件夹:c:\mysql
c:\mysql\bin (并将 ndb_mgmd.exe 和 ndb_mgm.exe 复制进去)
c:\mysql\bin\cluster-logs
在 c:\mysql\bin 下创建两个文件 conf.ini、my.ini config.ini配置如下:[ndbd default]
NoOfReplicas=2
DataMemory=200M
IndexMemory=100M[TCP DEFAULT][NDB_MGMD]
nodeid=1
hostname=172.16.3.27
datadir=D:\Program Files\mysqlcluster\datanode\mysql\bin\cluster-data[NDBD]
nodeid=2
hostname=172.16.3.28
datadir=C:\mysql\mysql-cluster[NDBD]
nodeid=3
hostname=172.16.3.30
datadir=C:\mysql\mysql-cluster[MySQLD]
[MySQLD]my.ini配置如下:[mysql_cluster]
config-file=C:\mysql\bin\config.ini(2)数据节点和sql节点的配置(数据节点和sql节点为同一台机)
建文件夹: D:/Program Files/mysqlcluster/datanode/mysql/bin (并将ndbd.exe放进去)
D:/Program Files/mysqlcluster/datanode/mysql/cluster-data
D:/Program Files/mysqlcluster/datanode/mysql/bin/cluster-data
D:/Program Files/mysqlcluster/sqlnode (将解压后的整个文件夹mysql放进去) 在D:/Program Files/mysqlcluster/datanode/mysql/bin目录下生成文件my.ini,内容为: [mysql_cluster]
ndb-connectstring=172.16.3.27 在D:/Program Files/mysqlcluster/sqlnode/mysql下生成my.ini文件,内容为:
[mysqld]
ndbcluster
ndb-connectstring=172.16.3.27(3)启动管理节点
c:\mysql\bin>ndb_mgmd -f conf.ini
MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.9c:\mysql\bin>ndb_mgm -e show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 172.16.3.28)
id=3 (not connected, accepting connect from 172.16.3.30)[ndb_mgmd(MGM)] 1 node(s)
id=1 @172.16.3.27 (mysql-5.1.51 ndb-7.1.9)[mysqld(API)] 3 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)(4) 启动数据节点
D:\Program Files\mysqlcluster\datanode\mysql\bin>ndbd --initial
Unable to connect with connect string: nodeid=0,localhost:1186
Retrying every 5 seconds. Attempts left: 12 11 10数据节点连接不上,在管理节点上运行ndb_mgm
c:\mysql\bin>ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 172.16.3.28)
id=3 (not connected, accepting connect from 172.16.3.30)[ndb_mgmd(MGM)] 1 node(s)
id=1 @172.16.3.27 (mysql-5.1.51 ndb-7.1.9)[mysqld(API)] 3 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
id=6 (not connected, accepting connect from any host)ndb_mgm> connect 172.16.3.28
Unable to connect with connect string: nodeid=0,172.16.3.28:1186
Retrying every 5 seconds. Attempts left: 2管理节点和数据节点互相 connect 不上 (防火墙关了,终端互相ping通)望高手指点!
对本地数据库的操作都是通过嵌入式的web server来做的,那同步模块应该放在哪里执行呢?
每一次本地操作,发一个远程的mysql请求,执行相同的逻辑。这样也许会简单一些。
你的本地操作在哪里执行,那附加动作就在哪里执行。
我先起得管理机:
c:\mysql\bin>ndb_mgmd -f conf.ini
MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.9c:\mysql\bin>ndb_mgm -e show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 172.16.3.28)
id=3 (not connected, accepting connect from 172.16.3.30)[ndb_mgmd(MGM)] 1 node(s)
id=1 @172.16.3.27 (mysql-5.1.51 ndb-7.1.9)[mysqld(API)] 3 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)然后起ndb:
D:\Program Files\mysqlcluster\datanode\mysql\bin>ndbd --initial
Unable to connect with connect string: nodeid=0,localhost:1186
Retrying every 5 seconds. Attempts left: 12 11 10连不上,sql我就没起了
你对appweb了解不?这个嵌入式web server对SQLite提供完整的数据映射,调用内部类可以很方便的支持对SQLite的操作,对远程的mysql可以用标准的SQL接口吗?
我不了解你这个web server里边用的是什么编程接口来访问Sqlite,只要是远程访问,总有办法能访问mysql,标准接口,由于是异机,估计够呛。