当前位置:文档之家› mysql集群部署文档

mysql集群部署文档

3台机器搭建集群环境1. 集群配置如下(3台机器)管理节点:192.168.6.134数据节点1:192.168.6.135数据节点2:192.168.6.136sql节点1:192.168.6.135sql节点2:192.168.6.136我使用3台机器进行配置,其中两台机器上的数据节点与sql节点在一起2. 管理节点安装(192.168.6.134)安装1.shell> groupadd mysql2.shell> useradd mysql -g mysql3.shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz /usr/local/4.shell> cd /usr/local/5.shell> tar zxvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz /usr/local/6.shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64 mysql7.shell> chown -R mysql:mysql mysql8.shell> cd mysql9.shell> scripts/mysql_install_db --user=mysql配置管理节点1.shell> mkdir /var/lib/mysql-cluster2.shell> cd /var/lib/mysql-clustervi config.ini 添加以下内容1.[ndbd default]2.NoOfReplicas=23.DataMemory=80M4.IndexMemory=18M5.[ndb_mgmd]6.NodeId=17.Hostname=192.168.6.134 //管理IP8.datadir=/usr/local/mysql/logs9.[ndbd]10.NodeId=211.Hostname=192.168.6.135 //数据节点112.datadir=/usr/local/mysql/data/ //数据文件位置13.[ndbd]14.NodeId=315.Hostname=192.168.6.136 //数据节点216.datadir=/usr/local/mysql/data/ //数据文件位置17.[MYSQLD]18.[MYSQLD]3. 数据节点安装(192.168.6.135,192.168.6.136)执行相同的安装操作1.shell> groupadd mysql2.shell> useradd mysql -g mysql3.shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64 /usr/local/4.shell> cd /usr/local/5.shell> tar zxvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz6.shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64 mysql7.shell> chown -R mysql:mysql mysql8.shell> cd mysql9.shell> scripts/mysql_install_db --user=mysql1.shell> cp support-files/mysql.server /etc/init.d/mysqld配置数据节点vi /etc/f 添加入如下内容1.[mysqld]2.ndbcluster # run NDB storage engine3.ndb-connectstring=192.168.6.134 # location of management server4.5.# Options for ndbd process:6.[mysql_cluster]7.ndb-connectstring=192.168.6.134 # location of management server1.shell> /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial2.shell> netstat -lntpu3.看到1186开放说明启动正常1.★必须注意:只是在第一次启动或在备份/恢复或配置变化后重启ndbd时,才加–initial参数!5. 启动数据节点服务(192.168.6.135,192.168.6.136) Data (NDBD)node1.shell> /usr/local/mysql/bin/ndbd --initial备注:启动此处时,需要为防火墙开启1186,3306端口。

在两台机器上启动服务,执行相同操作★必须注意:只是在第一次启动或在备份/恢复或配置变化后重启ndbd时,才加–initial参数!启动结果如下:1.2012-06-30 05:01:11 [ndbd] INFO -- Angel connected to '192.168.6.134:1186'2.2012-06-30 05:01:11 [ndbd] INFO -- Angel allocated nodeid: 36. 启动SQL节点服务(192.168.6.135,192.168.6.136) MySQLserver (SQL) node1.shell> service mysqld start如果在创建数据库时遇到如下错误1.Access denied for user ''@'localhost' to database 'mysql解决方法:1.首先停止mysqld服务,然后后台运行2.shell> /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &3.shell> service mysqld start4.再用root登录,就一切正常看到nbdb服务和3306端口说明启动OK7. 功能测试在管理节点(192.168.6.134)上查看服务状态1.shell> /usr/local/mysql/bin/ndb_mgm2.ndb_mgm> show1.Connected to Management Server at: localhost:11862.Cluster Configuration3.---------------------4.[ndbd(NDB)] 2 node(s)5.id=2 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0, Master)6.id=3 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6, Nodegroup: 0)7.8.[ndb_mgmd(MGM)] 1 node(s)9.id=1 @192.168.6.134 (mysql-5.5.22 ndb-7.2.6)10.11.[mysqld(API)] 2 node(s)12.id=4 @192.168.6.135 (mysql-5.5.22 ndb-7.2.6)13.id=5 @192.168.6.136 (mysql-5.5.22 ndb-7.2.6)可以看到这里的数据节点、管理节点、sql节点都是正常的★非常重要:1.在建表的时候一定要用ENGINE=NDB或ENGINE=NDBCLUSTER指定使用NDB集群存储引擎,或用ALTER TABLE选项更改表的存储引擎。

2.NDB表必须有一个主键,因此创建表的时候必须定义主键,否则NDB存储引擎将自动生成隐含的主键。

3.Sql节点的用户权限表仍然采用MYISAM存储引擎保存的,所以在一个Sql节点创建的MySql用户只能访问这个节点,如果要用同样的用户访问别的Sql节点,需要在对应的Sql 节点追加用户。

虽然在MySql Cluster7.2版本开始提供了”用户权限共享”.测试一:现在我们在其中一个数据节点上进行相关数据库的创建,然后到另外一个数据节点上看看数据是否同步在数据节点1(192.168.6.135)上执行:1.shell> /usr/local/mysql/bin/mysql -u root -p2.mysql>show databases;3.mysql>create database aa;4.mysql>use aa;5.mysql>CREATE TABLE ctest2 (i INT) ENGINE=NDB; //这里必须指定数据库表的引擎为NDB,否则同步失败6.mysql> INSERT INTO ctest2 () VALUES (1);7.mysql> SELECT * FROM ctest2;然后在数据节点2上看数据是否同步过来了经过测试,在非master上创建数据,可以同步到master上查看表的引擎是不是NDB,>show create table 表名;测试二、关闭一个数据节点,在另外一个节点写输入,开启关闭的节点,看数据是否同步过来首先把数据节点1重启,然后在节点2上添加数据在节点2(192.168.6.136)上操作如下:mysql> create database bb;1.mysql> use bb2.mysql> CREATE TABLE ctest3 (i INT) ENGINE=NDB;3.mysql> use aa4.mysql> INSERT INTO ctest2 () VALUES (3333);mysql> SELECT * FROM ctest2;1.等节点1启动完毕,启动节点1的服务#/usr/local/mysql/bin/ndbd --initial#service mysqld start然后登录进去查看数据# /usr/local/mysql/bin/mysql -u root –p可以看到数据已经同步过来了,说明数据可以双向同步了。

8. 关闭集群1.关闭管理节点和数据节点,只需要在管理节点(ClusterMgm--134)里执行:1.shell> /usr/local/mysql/bin/ndb_mgm -e shutdown显示1.Connected to Management Server at: localhost:11862. 2 NDB Cluster node(s) have shutdown.3.Disconnecting to allow management server to shutdown.2.然后关闭Sql节点(135,136),分别在2个节点里运行:1.shell> /etc/init.d/mysql stop2.Shutting down MySQL... SUCCESS!注意:要再次启动集群,就按照第4,5,6步的启动步骤即可,不过这次启动数据节点的时候就不要加”–initial”参数了。

相关主题