mysql簇群集实验
原创
©著作权归作者所有:来自51CTO博客作者七七0918的原创作品,请联系作者获取转载授权,否则将追究法律责任
MYSQL簇群及实验
实验拓扑图:
地址参数设置
实验步骤:
Mysql管理节点配置:
设置网卡ip。
[root@localhost ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:FE:39:09
inet addr:192.168.6.177 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefe:3909/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:776 errors:0 dropped:0 overruns:0 frame:0
TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:174237 (170.1 KiB) TX bytes:12614 (12.3 KiB)
Interrupt:59 Base address:0x2024
安装mysql相应软件包:
[root@localhost ~]# tar zxvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz -C /usr/local/
-z:使用gzip ; -x:解压文件;-v:显示详细信息;-f:表示使用归档文件
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv mysql-cluster-gpl-7.1.9a-linux-i686-glibc23/ mysql/
----重命名为mysql
[root@localhost local]# groupadd mysql -----创建mysql组
[root@localhost local]# useradd -g mysql -s /sbin/nologin -M mysql ----创建mysql用户
-g:指定用户的基本组名 ; -s:指定用户的登录shell -M:不为用户建立并初始化宿主目录
在mysql数据节点1和2上分别作如上操作:
为mysql服务节点作安装后的调整:
[root@localhost mysql]# scripts/mysql_install_db --user=mysql ----初始化mysql数据库
[root@localhost mysql]# cd .. ---切换到上一层目录
[root@localhost local]# chown -R mysql:mysql mysql/ ---把mysql/的属主改为mysql。属组改为mysql
[root@localhost local]# cp mysql/support-files/my-medium.cnf /etc/my.cnf
----把mysql配置文件模板复制到mysql的主配置文件里
为mysql管理节点服务器建立配置文件:
[root@localhost local]# mkdir /var/lib/mysql-cluster ----创建mysql管理节点的配置文件
[root@localhost local]# chown -R mysql:mysql /var/lib/mysql-cluster/
----把/var/lib/mysql-cluster的属主改为mysql。属组改为mysql
[root@localhost local]# cd /var/lib/mysql-cluster/
[root@localhost mysql-cluster]# vi config.ini(注意这个集群的配置管理节点的文件里的内容不可以写错)
[NDBD DEFAULT] -------副本数
NoOfReplicas=2 ----有两个数据节点
[NDB_MGMD] ----设置管理进程ndb_mgmd
HostName=192.168.6.177 ----管理节点服务器的ip地址
DataDir=/var/lib/mysql-cluster -----控制(管理)节点启动后会有进程文件,进程文件的存储位置
[NDBD] ----设置数据节点1
HostName=192.168.6.178 ----数据节点ip地址
DataDir=/var/lib/mysql-cluster ----数据节点文件存放位置
[NDBD]
HostName=192.168.6.179
DataDir=/var/lib/mysql-cluster
[MYSQLD] -----相应的数据节点1
[MYSQLD] ----相应的数据节点2
注意:有几个节点就要写几个mysqld
启动管理节点服务器:
[root@localhost ~]# ln -s /usr/local/mysql/bin/* /usr/bin/ ----建立软连接
[root@localhost ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini ----启动管理节点服务器
MySQL Cluster Management Server mysql-5.1.51 ndb-7.1.9
2012-05-02 21:44:35 [MgmtSrvr] INFO -- The default config directory '/usr/local/mysql/mysql-cluster' does not exist. Trying to create it...
2012-05-02 21:44:35 [MgmtSrvr] INFO -- Sucessfully created config directory
Mysql数据节点1上的配置:
[root@localhost local]# cd mysql/
[root@localhost mysql]# scripts/mysql_install_db --user=mysql ---初始化数据库
[root@localhost mysql]# cd .. ---返回到上一层目录
[root@localhost local]# chown -R mysql:mysql mysql/ ---把mysql/的属主更改为mysql。属组更改为mysql
[root@localhost local]# cp mysql/support-files/my-medium.cnf /etc/my.cnf
[root@localhost local]# vi /etc/my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
ndbcluster --------宣告群集节点模式
ndb-connectstring=192.168.6.177(注意:在mysql后面添加这两行) -----发布群集管理节点连接IP
[mysql_cluster]
ndb-connectstring=192.168.6.177(注意:在末尾添加这两行)
为mysql数据节点建立配置文件:
[root@localhost local]# mkdir /var/lib/mysql-cluster ---创建配置文件
[root@localhost local]# chown mysql:mysql /var/lib/mysql-cluster/ ---修改属主,属组权限
启动数据节点服务器:
[root@localhost local]# ln -s /usr/local/mysql/bin/* /usr/bin/ ---建立软连接
[root@localhost local]# ndbd –initial ---启动数据节点
(注意:只有在第一次启动或者对管理节点的config.ini进行改动后才需要使用—initial参数,平时不需要)
2012-02-20 18:47:41 [ndbd] INFO -- Angel connected to '192.168.6.177:1186'
2012-02-20 18:47:41 [ndbd] INFO -- Angel allocated nodeid: 2
[root@localhost local]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost local]# chkconfig --add mysqld ----添加为系统服务
[root@localhost local]# service mysqld start ---启动mysqld服务
Starting MySQL.. [确定]
[root@localhost local]# echo "/usr/local/mysql/bin/ndbd" >> /etc/rc.local -----添加为开机启动服务
Mysql数据节点2上的配置跟数据节点1一样。
测试:
在mysql管理节点上,启动管理终端:
[root@localhost ~]# 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 @192.168.6.178 (mysql-5.1.51 ndb-7.1.9, starting, Nodegroup: 0)
id=3 (not connected, accepting connect from 192.168.6.179)
[ndb_mgmd(MGM)] 1 node(s) ----一个管理节点
id=1 @192.168.6.177 (mysql-5.1.51 ndb-7.1.9)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
在mysql数据节点1上创建数据库并测试结果:
数据节点1上
数据节点2上
总结:
1、mysql簇的优点:它具有可用性高和数据一致性的特点
2、NDB是一种“内存”中的数据引擎
3、启动顺序:先启动管理节点中的ndb_mgmd配置文件,在启动其他节点。
关闭时要先关闭其他节点,在关闭管理节点的ndb_mgmd配置文件。
4、mysql簇的数据都保存在NDB存储服务器中,表等保存在mysql服务器中。
5、mysql簇的组成:application(应用服务器)-----》mysql数据库------》NDB存储服务器------》mangenment(管理服务器)
6、MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
MySQL AB复制及簇群集
名称 角色 IP地址
安装 mysql 数据库 -
Hyper-V群集实验
Hyper-V实验简要记录
Hyper-v 群集实验