文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>简单mysql-cluster 安装笔记 for rhel5.x86_64

简单mysql-cluster 安装笔记 for rhel5.x86_64

时间:2010-07-31  来源:huaihe0410

http://imysql.cn/onlinedoc  --- mysql 在线参考手册   ******************************************************************   一:下载安装包 Mysqlcluster的rpm下载地址http://dev.mysql.com/downloads/cluster 包列表:   MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-storage-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-client-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-server-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-clusterj-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-debuginfo-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-devel-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-embedded-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-extra-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-shared-7.1.4b-1.rhel5.x86_64.rpm   MySQL-Cluster-gpl-test-7.1.4b-1.rhel5.x86_64.rpm     实际安装时要用到其中的5个包即可,(其他包还不干什么用的?) 管理节点:   MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.x86_64.rpm (ndb_mgmd管理服务)   MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.x86_64.rpm (ndb_mgm 管理服务客户端) 存储节点:   MySQL-Cluster-gpl-storage-7.1.4b-1.rhel5.x86_64.rpm (ndbd) SQL节点:(服务节点)   MySQL-Cluster-gpl-server-7.1.4b-1.rhel5.x86_64.rpm  (服务端)   MySQL-Cluster-gpl-client-7.1.4b-1.rhel5.x86_64.rpm  (客户端)   二:安装 & 简单配置  计划建立有5个节点的MySQL CLuster体系,因此需要用到5台机器,分别做如下用途: 节点(用途) IP地址(主机名) -----------------------------------------------
管理节点(MGM) 192.168.0.1(db1)
数据节点1(NDBD1)    192.168.0.2(db2)
数据节点2(NDBD2)    192.168.0.3(db3)
SQL节点1(SQL1) 192.168.0.4(db4)
SQL节点2(SQL2)  192.168.0.5(db5)
  1.安装准备  a.新建用户mysql ,组mysql ,使用此mysql账号进行安装;  b.若安装过程中提示权限不足,可使用root将权限放开     (注意:权限放开可能会导致系统用户无法登录系统);  c.若安装时提示“MySQL conflicts with mysql-xx ”,可能是系统已安装旧版本。    rpm -qa mysql or  rpm -qa | grep mysql  -- 查询旧版本安装包    rpm -e mysql-4.1.20-2.RHEL4.1.i386 -- 卸载旧版本    rpm -e mysql-4.1.20-2.RHEL4.1.i386 --nodeps  -- 卸载时报错,强制卸载    rpm -e --allmatches mysqlclient10-3.23.58-4.RHEL4.1  -- 卸载时报错(specifies multiple packages)  d.查询包装到哪了    rpm -ql MySQL-Cluster-gpl-server-7.1.4b-1.rhel5.x86_64.rpm    e.不想rpm安装,直接解压后是否可用??   rpm2cpio kchmviewer-3.1-1.el5.5.x86_64.rpm | cpio -div   2.安装管理节点  a.安装  rpm -ivh MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.x86_64.rpm  # 安装后文件   rpm -ql MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.x86_64   /usr/sbin/ndb_mgmd
  /usr/share/man/man8/ndb_mgmd.8.gz
 rpm -ivh MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.x86_64.rpm   # 安装后文件 rpm -ql MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.x86_64
/usr/sbin/ndb_mgmd
/usr/share/man/man8/ndb_mgmd.8.gz
[root@aiwm152 manager_source]# rpm -ql MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.x86_64.rpm
package MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.x86_64.rpm is not installed
b.配置  新建配置文件config.ini ,路径可随便指定,启动服务端时指定路径即可。一般和服务端程序放在同一目录。  增加常用配置项:  vi /usr/sbin/config.ini  [NDBD DEFAULT]
 NoOfReplicas=2
 [NDB_MGMD]
 ID=1
 hostname=192.168.0.1
 datadir=/var/lib/mysql/data_log
 [NDBD]
 ID=2
 hostname=192.168.0.2
 datadir=/var/lib/mysql/data_4  [NDBD]
 ID=3
 hostname=192.168.0.3
 datadir=/var/lib/mysql/data_5
 [MYSQLD]
 ID=4
 hostname=192.168.0.4
 [MYSQLD]
 ID=5
 hostname=192.168.0.5
c. 启动服务端    ndb_mgmd -f /usr/sbin/config.ini --configdir=. d. 通过客户端查看 cluster(此时其他节点均未启动) ndb_mgm ndb_mgm> show Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2 (not connected, accepting connect from 192.168.0.2)
id=3 (not connected, accepting connect from 192.168.0.3)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.1  (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)]   2 node(s)
id=4    (not connected, accepting connect from 192.168.0.4)
id=5    (not connected, accepting connect from 192.168.0.5)
  3.安装存储节点 a.安装 rpm -ivh MySQL-Cluster-gpl-storage-7.1.4b-1.rhel5.x86_64.rpm  # 安装后文件 rpm -ql MySQL-Cluster-gpl-storage-7.1.4b-1.rhel5.x86_64
/usr/sbin/ndbd
/usr/sbin/ndbmtd
/usr/share/man/man8/ndbd.8.gz
/usr/share/man/man8/ndbmtd.8.gz
b.配置 新建配置文件my.cnf ,路径可随便指定,启动服务端时指定路径即可。一般放是/etc/my.cnf,启动时无需指定目录。  增加常用配置项: vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring=192.168.0.1
[MYSQL_CLUSTER]
ndb-connectstring=192.168.0.1
#连接串指向管理节点
c.启动
# 直接启动 ndbd # 指定配置文件 ndbd --defaults-file=/etc/my.cnf # 第一次启动时使用,因为该参数会使节点删除由早期ndbd实例创建的、用于恢复的任何文件,包括用于恢复的日志文件 ndbd --initial
d.安装另一台存储节点,启动后,查看管理节点: ndb_mgm ndb_mgm> show Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.2  (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
id=3    @192.168.0.3  (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.1  (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)]   2 node(s)
id=4    (not connected, accepting connect from 192.168.0.4)
id=5    (not connected, accepting connect from 192.168.0.5)

3.安装SQL节点
a. 安装   rpm -ivh MySQL-Cluster-gpl-server-7.1.4b-1.rhel5.x86_64.rpm  # 安装后文件 rpm -ql MySQL-Cluster-gpl-server-7.1.4b-1.rhel5.x86_64
/etc/init.d/mysql
/etc/logrotate.d/mysql
/etc/my.cnf
/etc/mysqlmanager.passwd
/usr/bin/innochecksum
...................... /usr/lib64/mysql/mysqld-debug.sym
/usr/lib64/mysql/mysqld.sym
/usr/sbin/mysqld
/usr/sbin/mysqld-debug
/usr/sbin/mysqlmanager
/usr/sbin/rcmysql
.......................... /usr/share/mysql/slovak/errmsg.sys
/usr/share/mysql/spanish/errmsg.sys
/usr/share/mysql/swedish/errmsg.sys
/usr/share/mysql/ukrainian/errmsg.sys
 rpm -ivh MySQL-Cluster-gpl-client-7.1.4b-1.rhel5.x86_64.rpm  # 安装后文件 rpm -ql MySQL-Cluster-gpl-client-7.1.4b-1.rhel5.x86_64
/usr/bin/msql2mysql
/usr/bin/mysql
............................... /usr/share/man/man1/mysqlshow.1.gz
/usr/share/man/man1/mysqlslap.1.gz
  b.配置 复制一封配置文件/usr/share/mysql/my-large.cnf 到 /etc/my.cnf 在原来的基础上,增加配置项 [MYSQL_CLUSTER]
ndb-connectstring=192.168.0.1
[mysqld]
ndbcluster
ndb-connectstring=192.168.0.1
  c.启动 SQL节点和普通的MySQL类似,启动指令如下: ./mysqld_safe --defaults-file=/etc/my.cnf &
  d.安装另一个SQL节点,启动后查看管理节点 ndb_mgm ndb_mgm> show Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.2  (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
id=3    @192.168.0.3  (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.1  (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)]   2 node(s)
id=4    @192.168.0.4  (mysql-5.1.44 ndb-7.1.4)
id=5    @192.168.0.5  (mysql-5.1.44 ndb-7.1.4)
  三: 测试   与没有使用 Cluster的MySQL相比,在MySQL Cluster内操作数据的方式没有太大的区别。执行这类操作时应记住两点:
  • 表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或用这类选项之一替换任何已有的ENGINE(或TYPE)选项。
  • 另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。

下面是一个例子:
在SQL_1(192.168.0.4)上,创建数据表,插入数据:

mysql -uroot test
mysql> create table city(
mysql> id mediumint unsigned not null auto_increment primary key,
mysql> name varchar(20) not null default ''
mysql> ) engine = ndbcluster default charset utf8;
mysql> insert into city values(1, 'city1');
mysql> insert into city values(2, 'city2');

在SQL_2(192.168.0.5)上,查询数据:

mysql -uroot test
mysql> select * from city;
+-----------+
|id | name  |
+-----------+
|1  | city1 |
+-----------+
|2  | city2 |
+-----------+
之前设置的参数:config.ini | [NDBD DEFAULT]  NoOfReplicas=2 # 2 表示两个副本

停止存储节点1(192.168.0.2),查询正常。

mysql -uroot test
mysql> select * from city;
+-----------+
|id | name  |
+-----------+
|1  | city1 |
+-----------+
|2  | city2 |
+-----------+

四:安全关闭
要想关闭 Cluster,可在MGM节点所在的机器上,在Shell中简单地输入下述命令:

root# /usr/local/mysql/ndb_mgm -e shutdown
运行以下命令关闭SQL节点的mysqld服务:
root# /usr/local/mysql/bin/mysqladmin -uroot shutdown
五:增加存储节点?
 增加时有点奇怪,ndbd始终启动不了,后来单独启动新增的节点,启动ok后,再配置所有ndbd一起启动。就可以了
六:注意事项
1:如果发现关闭一台机器的ndbd进程,另一台机器的ndbd的进程也关闭,则需要修改参数NoOfReplicas。
2:ndbd –initial 不能同时在所有数据节点机器上执行,如执行,会删除所有数据
3:可以像操作非簇类型的数据库那样,操作mysqld节点
4:每次修改config.ini文件,重启ndb_mgmd时,需要删除/mysql-cluster/文件下的ndb_1_config.bin.1文件,因为他默认调用此文件
5:NDB簇不支持自动发现数据库的功能,这点很重要,一旦在一个数据节点上创建了世界(world)数据库和它的表,在簇中的每个SQL节点上还需要发出命令CREATE DATABASE world,后跟FLUSH TABLES。这样,节点就能识别数据库并读取其表定义。
6.启动顺序:管理节点--数据节点--SQL节点
 
 
 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载