使用MySQL-Cluster搭建MySQL数据库集群-创新互联

1、MySQL集群的作用:

创新互联建站不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的做网站、成都网站制作质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式成都营销网站建设需求,让再小的品牌网站制作也能产生价值!

- 解决访问节点的单点故障

- 数据存储节点的单点故障

- 解决数据存储节点数据备份问题

2、集群:

使用一组服务器提供相同的服务

3、关于MySQL-Cluster:

MySQL官方提供的集群版本

已集成标准版MySQL程序,可独立安装使用

采用NDB(Network DataBase)引擎

假定每个节点都有独立内存、硬盘

利用廉价硬件减少整个数据库的单点故障

4、集群中服务器的角色

- 数据节点:ndbd(单线程) ndb_mtd(多线程)  存储数据的(表里的记录)

- Sql节点:mysqld 是客户端访问数据的接口,负责执行SQL命令

可理解为支持NDB的标准MySQL服务器,仅存储表结构、独立的用户授权

面向客户端提供用户鉴权、SQL查询等访问服务

- 管理节点:ndb_mgmd 管理集群中的所有服务器

客户端:client 访问数据

5、案例拓扑:

使用MySQL-Cluster搭建MySQL数据库集群

6使用MySQL-Cluster搭建MySQL数据库集群MySQL集群的搭建(配置)

1)公共配置

# rpm -qa | grep -i mysql

# service mysql stop ; chkconfig mysql off

# rpm -e --nodeps MySQL-devel MySQL-embeddedMySQL-test MySQL-server MySQL-client MySQL-shared MySQL-shared-compat

//保留RHEL自带的mysql-libs包

# rm -rf  /etc/my.cnf

# rm -rf  /var/lib/mysql/*

# tar -xvfMySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar

# rpm -Uvh MySQL-Cluster-*.rpm

2)配置管理节点

运行管理进程  ndb_mgmd

配置文件 /etc/config.ini  (服务器的角色 和角色对应的ip id号  工作目录)

[ndbd default] :数据节点的公共配置

[ndb_mgmd] :指定管理节点

[ndbd] :指定数据节点

[mysqld] :指定sql节点

# mkdir  -p   /var/log/mysql-cluster  //创建工作目录

# vim /etc/config.ini  //编写主配置文件

[ndbd default]

NoOfReplicas=2      //保留2份数据拷贝

DataMemory=80M    //数据缓存大小

IndexMemory=18M  //索引缓存大小

[ndb_mgmd]

nodeid=7     //管理节点的ID标识

hostname=192.168.4.100  //管理节点的IP地址

datadir=/var/log/mysql-cluster   //工作目录

[ndbd]          //设置数据节点ndbA

nodeid=8     //数据节点ndbA的ID标识

hostname=192.168.4.30    //此节点的IP地址

datadir=/var/log/mysql-cluster/data    //工作目录

[ndbd]        //设置数据节点ndbB

nodeid=9

hostname=192.168.4.40

datadir=/var/log/mysql-cluster/data

[mysqld]     //设置sql节点sqlA

nodeid=10     //sql节点sqlA的ID标识

hostname=192.168.4.10    //此节点的IP地址

[mysqld]     //设置sql节点sqlB

nodeid=11

hostname=192.168.4.20

:wq

3)配置数据节点

运行数据进程  ndbd

配置文件: /etc/my.cnf

#mkdir -p  /var/log/mysql-cluster/data   //创建工作目录

#vim    /etc/my.cnf

[mysqld]

datadir=/var/log/mysql-cluster/data     //工作目录

ndb-connectstring=192.168.4.100   //管理节点IP地址

ndbcluster                    //指定使用ndbcluster集群存储引擎

[mysql_cluster]

ndb-connectstring=192.168.4.100  //如何连接管理节点

:wq

4)配置sql节点

运行mysql服务  mysql(此服务是由mysql-cluster软件包提供)

#vim   /etc/my.cnf

[mysqld]

ndbcluster                               //指定使用ndbcluster集群存储引擎

default-storage-engine=ndbcluster   //指定表的默认存储引擎是 ndbcluster

ndb-connectstring=192.168.4.100

[mysql_cluster]

ndb-connectstring=192.168.4.100    //如何连接管理节点

:wq

7、启动不同角色服务器上进程

1) 启动管理节点上的管理进程

#ndb_mgmd -f  /etc/config.ini

 //启动进程,结合-f选项读取.ini配置;默认后台模式,调试时可加--nodaemon;修改了配置以后,可加--initial重新初始化

#netstat -untlap | grep   :1186   //查看进程

#pkill  -9  ndb_mgmd     //杀死进程

2)依次启动数据节点上的数据进程

#ndbd

//首次执行时,可加--initial初始化;多个数据节点的操作相同

3)依次启动sql节点上的数据库服务

#service  mysql start  //多个sql节点的操作相同

8、查看集群状态

1)管理节点上登录管理界面,查看状态

#ndb_mgm

ndb_mgm> show

Cluster Configuration

---------------------

[ndbd(NDB)] 2node(s)

id=8 @192.168.4.30 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0, *)

id=9 @192.168.4.40 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0)

[ndb_mgmd(MGM)]     1 node(s)

id=7 @192.168.4.100 (mysql-5.6.14 ndb-7.3.3)

[mysqld(API)]      2 node(s)

id=10     @192.168.4.10 (mysql-5.6.14 ndb-7.3.3)

id=11     @192.168.4.20 (mysql-5.6.14 ndb-7.3.3)

ndb_mgm>

2)Sql节点的mysql初始化

重设root密码;为客户端访问添加用户授权

#service mysqlstart

#mysql -uroot -p初始密码   //初始密码见/root/.mysql_secret文件

3)在sql节点上,检查默认的存储引擎

Mysql>show engines;

9、测试访问节点的单点故障

在sql节点上授权可以从远端的客户机连接自己

Grant all on webdb.* to webuser@”%”identified by “webuser88”; //两个sql节点都做授权

客户端访问:#mysql-h292.168.10/20 -uwebuser -pwebuser88

mysql>create database  webdb;

mysql>create table webdb.a(id int);

mysql>insert  into webdb.a values(1000);

mysql> select * from webdb.a ;

访问sqlA节点操纵数据,在sqlB上会同步结果。

10、测试数据节点的单点故障

数据节点之间可以互相备份,自动选举Master,自动同步数据。测试时可关掉一个数据节点的ndbd服务,插入、查询数据验证数据的同步性。

Sql节点和数据节点的进程正常运行后,不需要重启的话,管理节点可以关掉

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:使用MySQL-Cluster搭建MySQL数据库集群-创新互联
转载注明:http://myzitong.com/article/djhods.html