使用mysql cluster 部署完mysql负载均衡之后,数据库并不能同步

Ziv_YO 发布于 2015/06/17 16:03
阅读 2K+
收藏 2

操作系统:windows

参照以下信息进行的配置:

1、环境规划(我是在虚拟机环境下安装的)
win03 192.168.2.57(管理节点,存储节点,sql节点)
win03 192.168.2.56(存储节点,sql节点)

 

2、安装程序

在两台机器上面同时进行

第一步:

下载安装软件地址:https://edelivery.oracle.com/EPD/Search/handle_go

我的用的版本是MySQL Cluster 7.3.8

第二步:

管理节点安装时必须安装在c盘下,建议使用默认安装目录。如:C:\Program Files\MySQL\MySQL Cluster 7.3

非管理节点可安装在任意路径下

第三步:

安装mysql服务

在CMD命令行参数下:

C:\Users\Administrator>cd C:\Program Files\MySQL\MySQL Cluster 7.3\bin

C:\Program Files\MySQL\MySQL Cluster 7.3\bin>mysqld.exe --install mysql          

第四步:

设置环境变量

3、创建管理节点配置文件

第一步:

创建config.ini文件,存放路径可任意存放

在c:\cluster\config.ini文件

内容为:

[NDBD DEFAULT]
NoOfReplicas=2   /*设置的节点个数*/
[NDB_MGMD]
ID=1
hostname=192.168.2.57
datadir=c:\cluster\data

#config storage nodeid
[NDBD]
ID=2
hostname=192.168.2.57
datadir=c:\cluster\ndbdata
[NDBD]
ID=3
hostname=192.168.2.56
datadir=C:\cluster\ndbdata

#config SQL NODEID
[MYSQLD]
ID=4
hostname=192.168.2.57
[MYSQLD]
ID=5
hostname=192.168.2.56

4、配置存储节点、SQL节点

第一步:

创建管理节点my.ini,

在安装路径下找一个my-default.ini文件,重命名为my.ini

如果将存储节点、SQL节点存放在同一台服务上,请在my.ini加入以下信息 

建议在[mysqld]上方加入以下信息,此配置作用于存储节点挂载

[mysql_cluster]

ndb-connectstring=192.168.2.57

在[mysqld]下加入,此配置作用于sql节点挂载

ndbcluster
ndb-connectstring=192.168.2.57

#防止出现table is full错误

tmp_table_size = 1600M

max_heap_table_size = 1600M

保存文件

4、启动mysql cluster(以下操作均在CMD下执行)

第一:在管理节点服务器上(也就是本文中的192.168.2.57)生效管理节点config.ini文件信息

ndb_mgmd.exe --config-file=c:\cluster\config-ini --configdir=c:\cluster

新开CMD窗口,生效存储节点信息

ndbd.exe --initial         /*首次执行时加入--initial参数*/

新开CMD窗口,生效SQL节点信息

mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"

执行完以后启动mysql

net start mysql

第二:在192.168.2.56在执行

ndbd.exe

新开CMD窗口

mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"

执行完以后启动mysql

net start mysql

5、查看安装情况

在192.168.2.57服务器上打开CMD窗口

ndb_mgm.exe

ndb_mgm>show

Connected to Management Server at: 192.168.2.57:1186
Cluster Configuration
———————
[ndbd(NDB)] 2 node(s)
id=21 @192.168.2.57 (mysql-5.1.56 ndb-7.1.15, Nodegroup: 0, Master)
id=22 @192.168.2.56 (mysql-5.1.56 ndb-7.1.15, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.2.57 (mysql-5.1.56 ndb-7.1.15)

[mysqld(API)] 2 node(s)
id=11 @192.168.2.57 (mysql-5.1.56 ndb-7.1.15)
id=12 @192.168.2.56 (mysql-5.1.56 ndb-7.1.15)

 

配置完成后,与上方显示的信息一样。说明已经成功,但是在A服务器上新建数据库并导入数据时,B服务器上只能看到数据库名,并不能看到里边的数据。在B上新建,A也不能看到数据。请大神帮我解答是哪里出问题了。

 

加载中
0
邱大神
只支持ndbcluster引擎的表,我估计是你的表引擎不对!
0
毅逸毅
毅逸毅
数据表要加上ENGINE=ndbcluster才可以同步过去  
返回顶部
顶部